ARG APP_RELEASE=dev

FROM node:22-alpine AS app

WORKDIR /app

COPY package*.json ./

RUN npm ci --omit=dev

COPY server.js tracing.js ./
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

ENV PORT=8080 \
    HOST=0.0.0.0

EXPOSE 8080

USER node

CMD ["node", "server.js"]
