# =====================
# 1️⃣ Build stage
# =====================
FROM registry.cn-beijing.aliyuncs.com/ezijing-beijing/node:2.0.0 AS builder

WORKDIR /app

# 先复制依赖清单（利用缓存）
COPY package.json package-lock.json ./

# 安装依赖
RUN npm ci

# 复制源码
COPY . .

# 构建 Nuxt 4
RUN npm run build


# =====================
# 2️⃣ Runtime stage
# =====================
FROM registry.cn-beijing.aliyuncs.com/ezijing-beijing/node:2.0.0 AS runner

WORKDIR /app

ENV NODE_ENV=production
ENV NITRO_HOST=0.0.0.0
ENV NITRO_PORT=2048

# 只复制构建产物
COPY --from=builder /app/.output ./.output

# 复制启动脚本并赋予可执行权限
COPY --from=builder /app/start.sh ./start.sh
RUN chmod +x ./start.sh

EXPOSE 2048

# 启动 Nitro Server（Nuxt 4）
CMD ["./start.sh"]
