FROM node:20 as build-stage WORKDIR /app COPY package*.json /app/ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories \ && cd /opt/vue-fastapi-admin/web && npm i -g pnpm --registry=https://registry.npmmirror.com \ && pnpm i && pnpm run build RUN npm install COPY ./ /app/ ARG VITE_API_URL=${VITE_API_URL} RUN npm run build FROM nginx:1 COPY --from=build-stage /app/dist/ /usr/share/nginx/html COPY ./nginx.conf /etc/nginx/conf.d/default.conf COPY ./nginx-backend-not-found.conf /etc/nginx/extra-conf.d/backend-not-found.conf EXPOSE 80 VOLUME [ "/usr/share/nginx/html" ]