FROM --platform=$BUILDPLATFORM node:lts-alpine3.23 AS builder

WORKDIR /app

COPY package*.json ./
COPY pnpm-lock.yaml* yarn.lock* ./

RUN npm install
COPY . .
RUN npm run build

FROM --platform=$TARGETPLATFORM nginx:stable-alpine AS production

RUN apk add --no-cache gettext

RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /app/dist /usr/share/nginx/html

COPY nginx.conf /etc/nginx/conf.d/default.conf

COPY public/env.template.js /usr/share/nginx/html/env.template.js
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh

EXPOSE 80
ENTRYPOINT ["/docker-entrypoint.sh"]