# Stage 1: Build FROM node:20-alpine AS builder WORKDIR /build # ARG NPM_REGISTRY=https://mirror-npm.runflare.com RUN sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://mirror.de.velop.ir/alpine|g' /etc/apk/repositories # Configure npm registry mirror (Liara) ENV NPM_CONFIG_REGISTRY=https://package-mirror.liara.ir/repository/npm/ RUN npm config set registry https://package-mirror.liara.ir/repository/npm/ # Vite embeds these at build time ARG VITE_BASE_URL=https://dmenu-api.danakcorp.com ARG VITE_SOCKET_URL=https://dmenu-api.danakcorp.com ARG VITE_TOKEN_NAME=dmnu_a_t ARG VITE_REFRESH_TOKEN_NAME=dmnu-a-rt ENV VITE_BASE_URL=$VITE_BASE_URL \ VITE_SOCKET_URL=$VITE_SOCKET_URL \ VITE_TOKEN_NAME=$VITE_TOKEN_NAME \ VITE_REFRESH_TOKEN_NAME=$VITE_REFRESH_TOKEN_NAME COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # Stage 2: Serve with Nginx FROM nginx:alpine COPY --from=builder /build/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]