# ---- build ---- FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci --no-audit --no-fund COPY . . # NEW: base path for Vite (e.g. /watch-party/) ARG PUBLIC_BASE_PATH=/ ENV PUBLIC_BASE_PATH=${PUBLIC_BASE_PATH} ARG FRONTEND_MODE=production ENV FRONTEND_MODE=${FRONTEND_MODE} ENV VITE_APP_MODE=${FRONTEND_MODE} ARG VITE_BACKEND_ORIGIN=/api ENV VITE_BACKEND_ORIGIN=${VITE_BACKEND_ORIGIN} ARG VITE_AUTH_ENABLED=true ENV VITE_AUTH_ENABLED=${VITE_AUTH_ENABLED} ARG VITE_FIREBASE_API_KEY= ENV VITE_FIREBASE_API_KEY=${VITE_FIREBASE_API_KEY} ARG VITE_FIREBASE_AUTH_DOMAIN= ENV VITE_FIREBASE_AUTH_DOMAIN=${VITE_FIREBASE_AUTH_DOMAIN} ARG VITE_FIREBASE_PROJECT_ID= ENV VITE_FIREBASE_PROJECT_ID=${VITE_FIREBASE_PROJECT_ID} ARG VITE_FIREBASE_APP_ID= ENV VITE_FIREBASE_APP_ID=${VITE_FIREBASE_APP_ID} RUN npm run build # ---- runtime (nginx) ---- FROM nginx:1.27-alpine RUN apk add --no-cache gettext COPY --from=build /app/dist /usr/share/nginx/html COPY ops/nginx.conf.template /etc/nginx/conf.d/default.conf.template COPY ops/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENV BACKEND_ORIGIN=http://localhost:8082 EXPOSE 80 ENTRYPOINT ["/bin/sh","/entrypoint.sh"]