mirror of
https://github.com/imsyy/DailyHotApi.git
synced 2026-01-12 05:04:56 +08:00
🦄 refactor: 调整接口结构
This commit is contained in:
28
Dockerfile
28
Dockerfile
@@ -3,13 +3,27 @@ FROM node:20-alpine AS base
|
||||
ENV NODE_ENV=docker
|
||||
|
||||
# 安装 Puppeteer 所需的依赖库
|
||||
RUN apk add libc6-compat
|
||||
# RUN apk add chromium nss freetype harfbuzz ca-certificates
|
||||
RUN apk add --no-cache \
|
||||
libc6-compat \
|
||||
nss \
|
||||
freetype \
|
||||
harfbuzz \
|
||||
ca-certificates
|
||||
|
||||
# 判断是否需要安装 Chromium
|
||||
ARG USE_PUPPETEER=false
|
||||
RUN if [ "$USE_PUPPETEER" = "true" ]; then \
|
||||
apk add --no-cache chromium; \
|
||||
fi
|
||||
|
||||
# 配置 Chromium
|
||||
# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
# ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
|
||||
|
||||
# 清理缓存
|
||||
RUN rm -rf /var/cache/apk/*
|
||||
|
||||
# 构建阶段
|
||||
FROM base AS builder
|
||||
|
||||
RUN npm install -g pnpm
|
||||
@@ -21,13 +35,16 @@ COPY public ./public
|
||||
|
||||
# add .env.example to .env
|
||||
RUN [ ! -e ".env" ] && cp .env.example .env || true
|
||||
RUN if [ "$USE_PUPPETEER" = "true" ]; then \
|
||||
sed -i 's/^USE_PUPPETEER=false/USE_PUPPETEER=true/' .env; \
|
||||
fi
|
||||
|
||||
RUN pnpm install
|
||||
RUN pnpm build
|
||||
RUN pnpm prune --production
|
||||
|
||||
# 运行阶段
|
||||
FROM base AS runner
|
||||
WORKDIR /app
|
||||
|
||||
# 创建用户和组
|
||||
RUN addgroup --system --gid 114514 nodejs
|
||||
@@ -35,6 +52,7 @@ RUN adduser --system --uid 114514 hono
|
||||
|
||||
# 创建日志目录
|
||||
RUN mkdir -p /app/logs && chown -R hono:nodejs /app/logs
|
||||
RUN ln -s /app/logs /logs
|
||||
|
||||
# 复制文件
|
||||
COPY --from=builder --chown=hono:nodejs /app/node_modules /app/node_modules
|
||||
|
||||
Reference in New Issue
Block a user