diff --git a/Dockerfile b/Dockerfile index b4cfabc..d8178ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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