fix: Dockerfile 添加国内镜像加速和 Chromium 预装
- npm/pnpm 使用 registry.npmmirror.com 镜像 - 构建阶段预装 Chromium 并复制到生产镜像
This commit is contained in:
+12
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user