feat: add compose deliverable, scenario definitions, eval stub, and CI

This commit is contained in:
Justin Visser 2026-08-09 20:59:58 +02:00
parent ef9e102b05
commit 7c3934daee
8 changed files with 148 additions and 0 deletions

17
backend/Dockerfile Normal file
View file

@ -0,0 +1,17 @@
# Build context is the repository root: one image serves API + built SPA.
FROM node:20-slim AS frontend
WORKDIR /build
COPY frontend/package.json frontend/package-lock.json ./
RUN npm ci
COPY frontend/ ./
RUN npm run build
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim
WORKDIR /srv
COPY backend/pyproject.toml backend/uv.lock ./
RUN uv sync --frozen --no-dev --no-install-project
COPY backend/app ./app
COPY eval/scenarios.yaml ./eval/scenarios.yaml
COPY --from=frontend /build/dist ./app/static
EXPOSE 8000
CMD ["uv", "run", "--no-sync", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]