FROM node:20-alpine AS build WORKDIR /app ARG VITE_API_URL= ARG VITE_GOOGLE_CLIENT_ID= ARG VITE_GOOGLE_REDIRECT_URI= ARG VITE_AUDIO_CDN_BASE=/api/audio ARG VITE_AUDIO_CDN_EXT=.mp3 ENV VITE_API_URL=$VITE_API_URL ENV VITE_GOOGLE_CLIENT_ID=$VITE_GOOGLE_CLIENT_ID ENV VITE_GOOGLE_REDIRECT_URI=$VITE_GOOGLE_REDIRECT_URI ENV VITE_AUDIO_CDN_BASE=$VITE_AUDIO_CDN_BASE ENV VITE_AUDIO_CDN_EXT=$VITE_AUDIO_CDN_EXT COPY package*.json ./ RUN npm install COPY . . RUN npm run build FROM nginx:alpine COPY --from=build /app/dist /usr/share/nginx/html COPY nginx-spa.conf.template /etc/nginx/templates/default.conf.template COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh EXPOSE 80 ENTRYPOINT ["/docker-entrypoint.sh"]