|
|
@@ -5,10 +5,10 @@ FROM node:20-alpine AS base
|
|
|
ENV PNPM_REGISTRY=https://registry.npmjs.org
|
|
|
ENV npm_config_registry=https://registry.npmjs.org
|
|
|
|
|
|
+# 注意:敏感数据(如 SOL_SECRET_KEY)不应通过 ARG 传递
|
|
|
+# 应该在运行时通过环境变量传递(docker run -e 或 docker-compose)
|
|
|
+# SOL_ENDPOINT 可以在运行时传递,也可以作为非敏感配置保留
|
|
|
ARG SOL_ENDPOINT
|
|
|
-ARG SOL_SECRET_KEY
|
|
|
-
|
|
|
-RUN echo "SOL_ENDPOINT=${SOL_ENDPOINT}"
|
|
|
|
|
|
# 安装 pnpm
|
|
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
|
|
@@ -35,8 +35,8 @@ COPY --from=deps /app/node_modules ./node_modules
|
|
|
# 复制源代码
|
|
|
COPY . .
|
|
|
# 设置构建时需要的环境变量
|
|
|
-ENV SOL_ENDPOINT=${SOL_ENDPOINT}
|
|
|
# 构建应用
|
|
|
+# 注意:构建时不需要 SOL_SECRET_KEY,它只在运行时需要
|
|
|
RUN pnpm build
|
|
|
|
|
|
# 运行阶段
|
|
|
@@ -47,7 +47,9 @@ ENV NODE_ENV=production
|
|
|
# 禁用 Next.js 遥测
|
|
|
ENV NEXT_TELEMETRY_DISABLED=1
|
|
|
|
|
|
-ENV SOL_ENDPOINT=${SOL_ENDPOINT}
|
|
|
+# 注意:SOL_ENDPOINT 和 SOL_SECRET_KEY 应该在运行时通过环境变量传递
|
|
|
+# 使用方式:docker run -e SOL_ENDPOINT=xxx -e SOL_SECRET_KEY=xxx ...
|
|
|
+# 或者使用 docker-compose.yml 中的 environment 配置
|
|
|
|
|
|
# 创建非 root 用户
|
|
|
RUN addgroup --system --gid 1001 nodejs
|