voting-app/docker/Dockerfile.frontend
2026-05-15 15:16:18 -05:00

33 lines
643 B
Docker

FROM node:22-alpine AS builder
WORKDIR /build
ARG VITE_API_URL
ENV VITE_API_URL=${VITE_API_URL}
ARG VITE_APP_TITLE
ENV VITE_APP_TITLE=${VITE_APP_TITLE}
COPY frontend/package.json frontend/pnpm-lock.yaml* ./
RUN corepack enable \
&& pnpm install --frozen-lockfile --ignore-scripts \
&& pnpm rebuild esbuild
COPY frontend/ ./
RUN CI=true pnpm build
FROM node:22-alpine
RUN addgroup -S appuser && adduser -S appuser -G appuser
WORKDIR /app
COPY --from=builder /build/dist ./dist
COPY --from=builder /build/node_modules ./node_modules
COPY --from=builder /build/package.json ./package.json
ENV NODE_ENV=production
USER appuser