FROM python:3.11-slim

WORKDIR /app

COPY pyproject.toml ./
COPY . .
RUN pip install --no-cache-dir --upgrade pip \
 && pip install --no-cache-dir .

EXPOSE 8000

# Two processes, per the two axes:
#   - main.py   : the spec-first FastAPI application
#   - worker.py : the pipeline consumer polling pending jobs
CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port 8000 & exec python worker.py"]