# The Context Vault web app: build the SPA, then serve it with nginx (+ proxy /api to the API).
# Part of the one-command self-hosted platform (see docker-compose.yml / docs/DEPLOY.md).
FROM node:20-alpine AS build
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM nginx:1.27-alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
# nginx:alpine's default CMD runs the server in the foreground.
