# python slim + Debian chromium: pulls of the mcr.microsoft.com Playwright image get reset on our
# Dokploy server (same fix as Capitation Amount Updater)
FROM python:3.12-slim

RUN apt-get update \
 && apt-get install -y --no-install-recommends chromium fonts-liberation tzdata \
 && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .

# headless, system Chromium (Playwright's own browser download is not used)
# TZ: IST like the team's PCs (also what the browser uses, see BROWSER_TZ in mek_recon.py)
ENV HEADLESS=1 CHROME_PATH=/usr/bin/chromium PYTHONUNBUFFERED=1 TZ=Asia/Kolkata
EXPOSE 8000
# one worker: run state is kept in memory
CMD ["gunicorn", "-w", "1", "--threads", "8", "-b", "0.0.0.0:8000", "--timeout", "120", "app:app"]
