Files
mgmt/frontend/Dockerfile
scott f6dad749d6 Fix Docker dev setup for fresh clones and consolidate dev scripts
- Backend Dockerfile: install deps into /venv so bind-mounts on /app
  don't overwrite them
- Frontend Dockerfile: add multi-stage with dev target for hot-reload
  (npm run dev --host), production build chains from it
- docker-compose.yml: use dev command/target, fix volume strategy,
  add API_TARGET env for vite proxy inside containers
- Keycloak seed runs inside a container (seed-keycloak service) instead
  of requiring a local Python venv
- demo.sh (was dev-docker.sh): only needs podman + curl, no local
  Python/Node
- dev.sh (was dev-local.sh): local dev with Keycloak, replaces the
  old no-Keycloak dev.sh which was redundant
- Update docs, .gitignore, .dockerignore for new script names

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:39:16 -07:00

23 lines
555 B
Docker

ARG NODE_IMAGE=node:22-slim
ARG NGINX_IMAGE=nginx:1.27-alpine
# ── Dev stage (used by docker-compose for local development) ──
FROM ${NODE_IMAGE} AS dev
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
EXPOSE 5173
CMD ["npm", "run", "dev", "--", "--host"]
# ── Build stage ──
FROM dev AS builder
RUN npm run build
# ── Production stage ──
FROM ${NGINX_IMAGE}
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]