# Playwright image ships Chromium + its OS deps for this exact Playwright version FROM mcr.microsoft.com/playwright/python:v1.49.0-noble WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . # headless, bundled Chromium (no Google Chrome in the image) ENV HEADLESS=1 CHROME_CHANNEL= PYTHONUNBUFFERED=1 TZ=America/New_York 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"]