Spaces:
Paused
Paused
| FROM node:20-slim | |
| # 创建应用目录 | |
| WORKDIR /app | |
| # Wrangler will prompt, and thus hang if you don't specify this | |
| ENV WRANGLER_SEND_METRICS=false | |
| # 添加非root用户 | |
| RUN groupadd -r nodejs && useradd -r -g nodejs nodejs | |
| # 复制项目文件 | |
| COPY package*.json ./ | |
| RUN npm install | |
| COPY . . | |
| 设置目录权限 | |
| RUN chown -R nodejs:nodejs /app | |
| # 切换到非root用户 | |
| USER nodejs | |
| # 创建必要的目录并设置权限 | |
| RUN mkdir -p /app/node_modules/.mf && \ | |
| mkdir -p /app/.wrangler | |
| RUN chown -R nodejs:nodejs /app/node_modules/.mf && \ | |
| chown -R nodejs:nodejs /app/.wrangler | |
| RUN chmod -R 777 /app/node_modules/.mf && \ | |
| chmod -R 777 /app/.wrangler | |
| EXPOSE 7860 | |
| CMD ["npm", "run", "start"] | |