simler commited on
Commit
8dab6ae
·
verified ·
1 Parent(s): 42d7bd5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +40 -30
Dockerfile CHANGED
@@ -1,40 +1,50 @@
1
- FROM python:3.10-slim
 
2
 
3
- ENV PYTHONDONTWRITEBYTECODE=1 \
4
- PYTHONUNBUFFERED=1
5
 
6
- # 1. 安装基础环境 (已修复 apt-key 报错问题)
 
 
 
 
7
  RUN apt-get update && apt-get install -y \
8
- wget gnupg git procps curl ca-certificates \
9
- && mkdir -p /etc/apt/keyrings \
10
- && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /etc/apt/keyrings/google-chrome.gpg \
11
- && sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
12
- && apt-get update \
13
- && apt-get install -y google-chrome-stable \
14
- --no-install-recommends \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
- # 2. 设置用户
18
- RUN useradd -m -u 1000 user
19
- WORKDIR /app
20
- RUN chown -R user:user /app
21
- USER user
 
 
 
 
 
 
 
 
22
 
23
- # 3. 【核心修正】使用你提供的正确官方地址克隆
24
- RUN git clone https://github.com/moltbot/moltbot.git /app/moltbot
25
 
26
- # 4. 安装 Python 依赖
27
- WORKDIR /app/moltbot
28
- # 如果官方仓库里没有 requirements.txt,这步会报错,但通常都有
29
- RUN pip install --no-cache-dir -r requirements.txt
 
 
30
 
31
- # 5. 安装 Playwright 浏览器
32
- RUN playwright install chromium
33
- RUN playwright install-deps
34
 
35
- # 6. 复制启动脚本
36
- COPY --chown=user:user run.sh /app/moltbot/run.sh
37
- RUN chmod +x run.sh
38
 
39
- # 7. 启动
40
- CMD ["./run.sh"]
 
1
+ # ⚠️ 核心修正:使用 Node.js 22 镜像 (Moltbot 官方硬性要求 >= 22)
2
+ FROM node:22-bullseye-slim
3
 
4
+ # 设置工作目录
5
+ WORKDIR /app
6
 
7
+ # 安装必要的系统工具
8
+ # git: 用于克隆代码和同步数据
9
+ # curl/wget: 网络工具
10
+ # ca-certificates: 确保 HTTPS 正常
11
+ # procps: 提供 ps 等命令,便于脚本监控
12
  RUN apt-get update && apt-get install -y \
13
+ git \
14
+ curl \
15
+ ca-certificates \
16
+ procps \
 
 
 
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
+ # --- 构建阶段 ---
20
+
21
+ # 1. 克隆 Moltbot 官方源码
22
+ # 使用 . 表示克隆到当前目录
23
+ RUN git clone https://github.com/moltbot/moltbot.git .
24
+
25
+ # 2. 安装项目依赖
26
+ # npm ci 比 npm install 更适合 CI/CD 环境,严格按照 package-lock.json 安装
27
+ RUN npm install
28
+
29
+ # 3. 尝试构建 (如果有构建步骤)
30
+ # 为了防止构建脚本报错导致镜像失败,加了 || true,但通常 TypeScript 项目需要这一步
31
+ RUN npm run build || echo "Build script failed or not found, attempting to run directly..."
32
 
33
+ # --- 运行时配置 ---
 
34
 
35
+ # 设置环境变量占位符 (实际值从 HF Secrets 读取)
36
+ ENV GIT_REPO=${GIT_REPO}
37
+ ENV GIT_USER=${GIT_USER}
38
+ ENV GIT_TOKEN=${GIT_TOKEN}
39
+ # Moltbot 可能需要的环境变量,设置 HF 的默认端口
40
+ ENV PORT=7860
41
 
42
+ # 暴露端口 (HF Space 默认监听 7860)
43
+ EXPOSE 7860
 
44
 
45
+ # 复制启动脚本 (下一步创建)
46
+ COPY start.sh /app/start.sh
47
+ RUN chmod +x /app/start.sh
48
 
49
+ # 启动容器
50
+ CMD ["/app/start.sh"]