39 lines
887 B
Docker
39 lines
887 B
Docker
FROM node:lts AS build
|
|
|
|
WORKDIR /workspace
|
|
|
|
ENV CI=true
|
|
ENV DEVFRONT_BUILD_OUT_DIR=/workspace/devfront/dist
|
|
|
|
RUN corepack enable && corepack prepare pnpm@10.5.2 --activate
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY common ./common
|
|
COPY devfront ./devfront
|
|
|
|
ARG VITE_DEVFRONT_PUBLIC_URL
|
|
ARG VITE_OIDC_AUTHORITY
|
|
ARG VITE_OIDC_CLIENT_ID
|
|
ENV VITE_DEVFRONT_PUBLIC_URL=$VITE_DEVFRONT_PUBLIC_URL
|
|
ENV VITE_OIDC_AUTHORITY=$VITE_OIDC_AUTHORITY
|
|
ENV VITE_OIDC_CLIENT_ID=$VITE_OIDC_CLIENT_ID
|
|
|
|
RUN pnpm install --frozen-lockfile --ignore-scripts
|
|
|
|
WORKDIR /workspace/devfront
|
|
RUN npm run build
|
|
|
|
FROM node:24-alpine AS production
|
|
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
ENV FRONTEND_DIST_DIR=/app/dist
|
|
ENV PORT=5173
|
|
|
|
COPY scripts/serve_frontend_prod.mjs ./serve_frontend_prod.mjs
|
|
COPY --from=build /workspace/devfront/dist ./dist
|
|
|
|
EXPOSE 5173
|
|
|
|
CMD ["node", "./serve_frontend_prod.mjs"]
|