| # RestockIQ serving image — inference/lookup only, nothing trains at startup. | |
| # Prophet is a pipeline-only dependency (baselines run offline), so the image | |
| # installs just the serving requirements to stay small. | |
| FROM python:3.13-slim | |
| WORKDIR /code | |
| # lightgbm's compiled lib needs libgomp at runtime | |
| RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| COPY requirements-serve.txt . | |
| RUN pip install --no-cache-dir -r requirements-serve.txt | |
| COPY app/ app/ | |
| COPY models/ models/ | |
| COPY data/forecasts.parquet data/ | |
| COPY data/history_tail.parquet data/ | |
| COPY data/backtest_summary.json data/ | |
| COPY data/backtest_per_sku.parquet data/ | |
| EXPOSE 7860 | |
| CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"] | |