feat: add single-image compose deliverable and CI
Some checks are pending
ci / backend (push) Waiting to run
ci / frontend (push) Waiting to run

This commit is contained in:
Justin Visser 2026-08-09 20:59:58 +02:00
parent b354b0be76
commit d2380b621a
4 changed files with 70 additions and 0 deletions

16
backend/Dockerfile Normal file
View file

@ -0,0 +1,16 @@
# 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 --from=frontend /build/dist ./app/static
EXPOSE 8000
CMD ["uv", "run", "--no-sync", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]