FROM python:3.11-slim

WORKDIR /app
COPY . .

# Runtime deps only — excludes snowflake, pywebview, pyinstaller, pyarrow, fastparquet
RUN pip install --no-cache-dir \
    dash>=2.14.0 \
    dash-mantine-components>=0.14.0 \
    plotly>=5.15.0 \
    pandas>=2.0.3 \
    numpy>=1.25.0 \
    gunicorn>=21.0.0

# Generate synthetic database at build time
RUN python scripts/generate_demo_db.py

EXPOSE 8050

CMD ["gunicorn", "--bind", "0.0.0.0:8050", "--workers", "2", "--timeout", "120", "dash_app.app:server"]
