# 第一阶段：编译前端项目
FROM node:16-alpine AS build

# 设置工作目录
WORKDIR /usr/src/app

# 复制 xbug-ui 的 package.json 和 package-lock.json
COPY xbug-ui/package.json xbug-ui/package-lock.json ./xbug-ui/

# 切换到 xbug-ui 目录
WORKDIR /usr/src/app/xbug-ui

# 安装依赖，利用 Docker 缓存
RUN npm install --registry=https://registry.npmmirror.com

# 复制前端源代码
COPY xbug-ui/ .

# 构建前端项目
RUN npm run build:prod

# 第二阶段：运行前端应用
FROM nginx:stable-alpine

LABEL maintainer="rzk@qq.com"

# 删除默认的 Nginx 网站
RUN rm -rf /usr/share/nginx/html/*

# 复制编译好的前端文件到 Nginx 目录
COPY --from=build /usr/src/app/xbug-ui/dist /usr/share/nginx/html/xbug

# 复制自定义的 Nginx 配置
COPY docker/front/nginx.conf /etc/nginx/nginx.conf

# 暴露端口
EXPOSE 80

# 启动 Nginx 服务
CMD ["nginx", "-g", "daemon off;"]
