fix(dockerfile): 移除构建和运行时多余的环境变量
This commit is contained in:
+3
-14
@@ -19,13 +19,9 @@ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \
|
|||||||
# ---- 构建层:生成 Prisma Client + Next.js 产物 ----
|
# ---- 构建层:生成 Prisma Client + Next.js 产物 ----
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
ENV NEXT_TELEMETRY_DISABLED=1 NODE_ENV=production
|
ENV NEXT_TELEMETRY_DISABLED=1 NODE_ENV=production
|
||||||
# 构建时需要的环境变量(数据库连接、认证密钥等)
|
# 构建时仅需 DATABASE_URL(db:generate 生成 Drizzle Client)
|
||||||
ARG DATABASE_URL NEXT_PUBLIC_BASE_URL BETTER_AUTH_SECRET BETTER_AUTH_TELEMETRY REDIS_URL
|
ARG DATABASE_URL
|
||||||
ENV DATABASE_URL=${DATABASE_URL} \
|
ENV DATABASE_URL=${DATABASE_URL}
|
||||||
NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL} \
|
|
||||||
BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} \
|
|
||||||
BETTER_AUTH_TELEMETRY=${BETTER_AUTH_TELEMETRY} \
|
|
||||||
REDIS_URL=${REDIS_URL}
|
|
||||||
|
|
||||||
# 从 deps 层复制已安装的 node_modules,避免重复安装
|
# 从 deps 层复制已安装的 node_modules,避免重复安装
|
||||||
COPY --from=deps /app/node_modules ./node_modules
|
COPY --from=deps /app/node_modules ./node_modules
|
||||||
@@ -39,13 +35,6 @@ FROM node:24-alpine AS runner
|
|||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 PORT=3000 HOSTNAME="0.0.0.0"
|
ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 PORT=3000 HOSTNAME="0.0.0.0"
|
||||||
# 运行时环境变量
|
|
||||||
ARG DATABASE_URL NEXT_PUBLIC_BASE_URL BETTER_AUTH_SECRET BETTER_AUTH_TELEMETRY REDIS_URL
|
|
||||||
ENV DATABASE_URL=${DATABASE_URL} \
|
|
||||||
NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL} \
|
|
||||||
BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET} \
|
|
||||||
BETTER_AUTH_TELEMETRY=${BETTER_AUTH_TELEMETRY} \
|
|
||||||
REDIS_URL=${REDIS_URL}
|
|
||||||
|
|
||||||
# 非 root 用户运行,提升安全性
|
# 非 root 用户运行,提升安全性
|
||||||
RUN addgroup --system --gid 1001 nodejs && \
|
RUN addgroup --system --gid 1001 nodejs && \
|
||||||
|
|||||||
Reference in New Issue
Block a user