33 lines
643 B
Docker
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 |