ARG APP_RELEASE=dev FROM node:22-alpine AS app WORKDIR /app COPY package*.json ./ RUN npm ci COPY server.js tracing.js vite.config.mjs ./ COPY public/ ./public/ # Inject build release into index.html if APP_RELEASE is specified ARG APP_RELEASE ENV APP_RELEASE=${APP_RELEASE} RUN if [ -n "${APP_RELEASE}" ]; then \ sed -i "s/window.__APP_RELEASE__ || \"dev\"/\"${APP_RELEASE}\"/g" ./public/index.html; \ fi RUN npm run build && npm prune --omit=dev ENV PORT=8080 \ HOST=0.0.0.0 EXPOSE 8080 USER node CMD ["node", "server.js"]