FROM node:22-alpine AS builder WORKDIR /app COPY package.json package-lock.json ./ ARG PUBLIC_SITE_URL=http://localhost:8080 ENV PUBLIC_SITE_URL=${PUBLIC_SITE_URL} RUN npm ci COPY . . RUN npm run build FROM node:22-alpine WORKDIR /app ENV NODE_ENV=production ENV HOST=0.0.0.0 ENV PORT=3000 COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY --from=builder /app/build ./build COPY --from=builder /app/static ./static EXPOSE 3000 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ CMD wget -q -O /dev/null http://127.0.0.1:3000/ || exit 1 CMD ["node", "build"]