diff --git a/Dockerfile b/Dockerfile index 51103e4..4013ef4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,15 @@ +# ── Stage 1: build the SvelteKit dashboard ── +FROM node:24-slim AS dashboard-build + +WORKDIR /dashboard + +COPY dashboard/package.json dashboard/package-lock.json ./ +RUN npm ci + +COPY dashboard/ ./ +RUN npm run build + +# ── Stage 2: Python runtime ── FROM python:3.12-slim WORKDIR /app @@ -9,6 +21,10 @@ RUN apt-get update \ COPY . . RUN pip install --no-cache-dir . +# dashboard/build is .dockerignored from the host context; copy the freshly +# built dashboard from stage 1 so FastAPI can serve it at /app/dashboard/build +COPY --from=dashboard-build /dashboard/build ./dashboard/build + EXPOSE 8000 CMD ["python", "run.py"]