FROM python:3.12-slim ARG BUILD_VERSION=unknown ARG GIT_COMMIT=unknown ARG BUILD_TIME=unknown ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ BUILD_VERSION=${BUILD_VERSION} \ GIT_COMMIT=${GIT_COMMIT} \ BUILD_TIME=${BUILD_TIME} WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Install Playwright browsers RUN playwright install chromium && playwright install-deps chromium COPY . . RUN mkdir -p data static templates EXPOSE 8000 HEALTHCHECK --interval=10s --timeout=5s --start-period=30s --retries=3 \ CMD curl -f http://localhost:${PORT:-8000}/health || exit 1 CMD ["sh", "-c", "uvicorn app:app --host 0.0.0.0 --port ${PORT:-8000}"]