dscdls commited on
Commit
1d4c524
·
verified ·
1 Parent(s): 83176d1

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -8
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- # 第一阶段:编译阶段 - 改用 node:22
2
  FROM node:22-slim AS builder
3
 
4
  # 安装构建必需的依赖
@@ -7,22 +7,35 @@ RUN apt-get update && apt-get install -y git python3 make g++ && rm -rf /var/lib
7
  # 克隆源码
8
  WORKDIR /build
9
  RUN git clone https://github.com/moltbot/moltbot.git .
10
- RUN npm install -g pnpm && pnpm install && pnpm run build
11
 
12
- # 第二阶段:运行阶段 - 同样改用 node:22
 
 
 
 
 
13
  FROM node:22-slim
 
14
  WORKDIR /app
15
 
16
- # 拷贝构建产物
 
 
 
17
  COPY --from=builder /build/dist ./dist
18
  COPY --from=builder /build/package.json ./package.json
19
  COPY --from=builder /build/node_modules ./node_modules
20
- RUN npm cache clean --force
21
 
22
  # 设置环境变量
23
- ENV PORT=7860
24
  ENV NODE_ENV=production
 
 
 
 
 
 
25
  EXPOSE 7860
26
 
27
- # 启动命令
28
- CMD ["node", "dist/index.js", "gateway", "start"]
 
 
1
+ # --- 第一阶段:编译阶段 ---
2
  FROM node:22-slim AS builder
3
 
4
  # 安装构建必需的依赖
 
7
  # 克隆源码
8
  WORKDIR /build
9
  RUN git clone https://github.com/moltbot/moltbot.git .
 
10
 
11
+ # 安装 pnpm 并构建
12
+ RUN npm install -g pnpm && \
13
+ pnpm install && \
14
+ pnpm run build
15
+
16
+ # --- 第二阶段:运行阶段 ---
17
  FROM node:22-slim
18
+
19
  WORKDIR /app
20
 
21
+ # 安装 pnpm(运行某些内置脚本可能需要)
22
+ RUN npm install -g pnpm
23
+
24
+ # 拷贝构建好的文件
25
  COPY --from=builder /build/dist ./dist
26
  COPY --from=builder /build/package.json ./package.json
27
  COPY --from=builder /build/node_modules ./node_modules
 
28
 
29
  # 设置环境变量
 
30
  ENV NODE_ENV=production
31
+ ENV PORT=7860
32
+ # 强制标记为容器环境,尝试规避 systemctl 逻辑
33
+ ENV CONTAINER=true
34
+ ENV MOLT_SKIP_SERVICE_CHECK=true
35
+
36
+ # 暴露端口
37
  EXPOSE 7860
38
 
39
+ # 核心修复:直接运行编译后的 JS 文件,而不是通过 'moltbot gateway start' 这种触发 systemctl 的命令
40
+ # 这里的路径 'dist/cli.js' Moltbot 的通用入口点
41
+ CMD ["node", "dist/cli.js", "start", "--port", "7860", "--no-service"]