- 新增许可证服务器 (license-server/) - 新增 Agent 部署模块 (flnxi-agent/) - 添加许可证验证和激活页面 - 添加 Harbor 镜像同步脚本 - 更新素材系统支持许可证验证
50 lines
1.4 KiB
Docker
50 lines
1.4 KiB
Docker
# 构建阶段 - 使用 Debian slim
|
||
FROM node:20-slim AS builder
|
||
WORKDIR /app
|
||
|
||
# 使用阿里云镜像源
|
||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources 2>/dev/null || \
|
||
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
|
||
|
||
# 安装 OpenSSL
|
||
RUN apt-get update && apt-get install -y openssl && rm -rf /var/lib/apt/lists/*
|
||
|
||
# 安装依赖(使用淘宝镜像)
|
||
COPY package*.json ./
|
||
RUN npm config set registry https://registry.npmmirror.com && \
|
||
npm install --legacy-peer-deps
|
||
|
||
# 复制源码
|
||
COPY . .
|
||
|
||
# 生成 Prisma Client
|
||
RUN node node_modules/prisma/build/index.js generate
|
||
|
||
# 构建(直接用 node 执行 next)
|
||
RUN node node_modules/next/dist/bin/next build
|
||
|
||
# 生产阶段
|
||
FROM node:20-slim AS runner
|
||
WORKDIR /app
|
||
|
||
# 使用阿里云镜像源
|
||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources 2>/dev/null || \
|
||
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
|
||
|
||
# 安装 OpenSSL
|
||
RUN apt-get update && apt-get install -y openssl && rm -rf /var/lib/apt/lists/*
|
||
|
||
ENV NODE_ENV=production
|
||
|
||
# 复制必要文件
|
||
COPY --from=builder /app/next.config.js ./
|
||
COPY --from=builder /app/public ./public
|
||
COPY --from=builder /app/.next/standalone ./
|
||
COPY --from=builder /app/.next/static ./.next/static
|
||
COPY --from=builder /app/prisma ./prisma
|
||
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
|
||
|
||
EXPOSE 3000
|
||
|
||
CMD ["node", "server.js"]
|