# Backend — Django + Gunicorn (+ cron in sibling container) FROM python:3.12-slim-bookworm ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libjpeg62-turbo-dev \ zlib1g-dev \ libpq-dev \ cron \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY backend/requirements.txt . RUN pip install -r requirements.txt COPY backend/ . COPY docker/entrypoint-api.sh docker/entrypoint-cron.sh docker/karung_sync_loop.sh /app/ COPY docker/crontab /etc/cron.d/newdashboard RUN chmod +x /app/entrypoint-api.sh /app/entrypoint-cron.sh /app/karung_sync_loop.sh \ && mkdir -p /app/data /app/media /app/staticfiles \ && chmod 0644 /etc/cron.d/newdashboard \ && crontab /etc/cron.d/newdashboard EXPOSE 8000 ENTRYPOINT ["/app/entrypoint-api.sh"]