FROM hb.eazytec-cloud.com/eazytec/eazydevelop-node:ubuntu22.04-node22-latest AS builder
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

RUN npm config set registry https://registry.npmmirror.com

# 安装依赖
RUN npm install

# 复制源代码
COPY . .

# 构建应用
RUN npm run build

FROM hb.eazytec-cloud.com/eazytec/eazydevelop-node:ubuntu22.04-node22-latest

WORKDIR /app

# 复制第一阶段的构建结果
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/package.json ./package.json
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/.resource ./resource

# 复制启动脚本
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh

# 设置必要的环境变量
ENV NODE_ENV=production
ENV APP_PORT_1=8000
ENV TZ=Asia/Shanghai

ENV RESOURCE_PATH=/app/.resource/resource_deploy.json

# 暴露端口
EXPOSE $APP_PORT_1

# 使用启动脚本启动应用
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
