# 多自媒体平台管理系统 - 后端服务 Dockerfile FROM node:20-slim # 安装 Playwright 依赖 RUN apt-get update && apt-get install -y \ libnss3 \ libnspr4 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libdbus-1-3 \ libxkbcommon0 \ libatspi2.0-0 \ libxcomposite1 \ libxdamage1 \ libxext6 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libpango-1.0-0 \ libcairo2 \ libasound2 \ && rm -rf /var/lib/apt/lists/* # 安装 pnpm RUN npm install -g pnpm WORKDIR /app # 复制依赖文件 COPY package.json pnpm-lock.yaml* ./ # 安装依赖 RUN pnpm install --frozen-lockfile --prod # 复制源代码 COPY . . # 构建 RUN pnpm build # 安装 Playwright 浏览器 RUN npx playwright install chromium # 创建上传目录 RUN mkdir -p uploads/videos uploads/images uploads/covers logs # 设置环境变量 ENV NODE_ENV=production ENV PORT=3000 EXPOSE 3000 CMD ["node", "dist/app.js"]