fix: Dockerfile 添加国内镜像加速和 Chromium 预装

- npm/pnpm 使用 registry.npmmirror.com 镜像
- 构建阶段预装 Chromium 并复制到生产镜像
This commit is contained in:
2026-02-28 23:39:46 +08:00
parent 28d870b158
commit ab623d12da
+12
View File
@@ -4,17 +4,26 @@
FROM node:22-slim AS builder
# China npm mirror
RUN npm config set registry https://registry.npmmirror.com
# Enable corepack for pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app
# pnpm also uses npm mirror
RUN pnpm config set registry https://registry.npmmirror.com
# Copy package manifests first (layer caching for dependency install)
COPY package.json pnpm-lock.yaml ./
# Install all dependencies (including devDependencies for building)
RUN pnpm install --frozen-lockfile
# Install Chromium for rebrowser-playwright (during build, included in image)
RUN npx playwright install chromium
# Copy source code
COPY tsconfig.json tsup.config.ts ./
COPY src/ src/
@@ -66,6 +75,9 @@ COPY --from=builder --chown=appuser:appuser /app/dist ./dist
COPY --from=builder --chown=appuser:appuser /app/node_modules ./node_modules
COPY --from=builder --chown=appuser:appuser /app/package.json ./package.json
# Copy Playwright browsers from builder
COPY --from=builder --chown=appuser:appuser /root/.cache/ms-playwright /home/appuser/.cache/ms-playwright
# Create data directory for cookies and API token
RUN mkdir -p /home/appuser/.social-mcp \
&& chown -R appuser:appuser /home/appuser/.social-mcp