FROM python:3.12-slim ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ PIP_NO_CACHE_DIR=1 # WeasyPrint runtime libraries (Pango/Cairo) + curl for the container healthcheck. RUN apt-get update && apt-get install -y --no-install-recommends \ libpango-1.0-0 \ libpangocairo-1.0-0 \ libcairo2 \ libgdk-pixbuf-2.0-0 \ libffi8 \ shared-mime-info \ fonts-dejavu-core \ curl \ && rm -rf /var/lib/apt/lists/* WORKDIR /srv COPY requirements.txt . RUN pip install -r requirements.txt COPY alembic.ini . COPY alembic ./alembic COPY app ./app COPY entrypoint.sh . RUN chmod +x entrypoint.sh && mkdir -p /data/attachments EXPOSE 8000 ENTRYPOINT ["./entrypoint.sh"]