FROM python:3.12-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt gunicorn==23.0.0 COPY . . EXPOSE 7799 # 2 workers is plenty: chart computation is a few ms; timezonefinder/geonames load per worker CMD ["gunicorn", "-w", "2", "-b", "0.0.0.0:7799", "--access-logfile", "-", "app:app"]