FROM python:3.12-slim

WORKDIR /app

RUN pip install --no-cache-dir fastapi uvicorn python-multipart httpx

# Note: python:3.12-slim includes sqlite3 by default
COPY service.py _config.py _loaders.py _db.py error-page.html admin-ui.html /app/

RUN mkdir -p /data/demos

EXPOSE 3000

CMD ["uvicorn", "service:app", "--host", "0.0.0.0", "--port", "3000", "--log-level", "info"]
