FROM python:3.12-slim ENV PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 WORKDIR /app # System deps: tzdata so cron schedules respect $TZ; ca-certificates for SSL. RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates tzdata \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt COPY main.py db.py scheduler.py api.py auth.py schema.sql /app/ RUN useradd --create-home --uid 10001 appuser \ && chown -R appuser:appuser /app USER appuser CMD ["python", "-u", "scheduler.py"]