Files
Project-Manager/frontend/Dockerfile
Ryan Lancaster 758fa37c2a
All checks were successful
continuous-integration/drone/push Build is passing
fix: frontend healthcheck use 127.0.0.1 (Alpine busybox IPv6 bug)
2026-03-18 17:03:43 -04:00

25 lines
863 B
Docker

# ── Stage 1: Build ────────────────────────────────────────────────────────────
FROM node:20-alpine AS build
ARG VITE_API_URL=http://localhost:4000/api
ENV VITE_API_URL=$VITE_API_URL
WORKDIR /app
COPY package*.json ./
RUN npm ci --ignore-scripts
COPY . .
RUN npm run build
# ── Stage 2: Serve ────────────────────────────────────────────────────────────
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
HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
CMD wget -qO- http://127.0.0.1/health || exit 1