# 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;"]
