huanbao commited on
Commit
2e2538e
·
verified ·
1 Parent(s): 19971ab

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +74 -11
Dockerfile CHANGED
@@ -1,37 +1,100 @@
1
  FROM node:22-bullseye-slim
2
 
3
- # 安装 git, curl, bash 等开发工具
4
  RUN apt-get update && apt-get install -y \
 
 
 
 
5
  git \
6
  curl \
 
 
 
 
7
  ca-certificates \
8
  ripgrep \
9
  procps \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- # 全局安装 Claude Code CLI 和 CloudCLI
13
- RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli
14
 
15
- # 创建挂载点 /data 以及家目录,并将所有权赋予 UID 1000
16
- RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli && \
 
 
 
 
 
 
17
  chown -R 1000:1000 /data /home/node
18
 
19
- # 复制入口脚本并设置权限
20
  COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
21
  RUN chmod +x /entrypoint.sh
22
 
23
- # 切换为 1000 用户 (node 用户)
24
  USER 1000
25
  ENV HOME=/home/node
26
- # 通过环境变量配置网络监听,避免命令行传参报错
27
  ENV HOST=0.0.0.0
28
  ENV PORT=7860
29
  ENV SERVER_PORT=7860
30
 
31
- WORKDIR /data/app
 
32
 
 
33
  EXPOSE 7860
34
 
35
  ENTRYPOINT ["/entrypoint.sh"]
36
- # 修正 CMD,直接调用 cloudcli(它会自动识别上面的 HOST 和 PORT 环境变量)
37
- CMD ["cloudcli"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  FROM node:22-bullseye-slim
2
 
3
+ # 1. 以 root 身份安装 Python3、Pip、Git、Build 工具等全套基础环境
4
  RUN apt-get update && apt-get install -y \
5
+ python3 \
6
+ python3-pip \
7
+ python3-venv \
8
+ build-essential \
9
  git \
10
  curl \
11
+ wget \
12
+ jq \
13
+ unzip \
14
+ zip \
15
  ca-certificates \
16
  ripgrep \
17
  procps \
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
+ # 2. 全局安装 CLI 工具 (Claude Code, CloudCLI, TaskMaster, Playwright)
21
+ RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai playwright
22
 
23
+ # 3. 设置 Playwright 浏览器存放路径
24
+ ENV PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright
25
+
26
+ # 4. 安装 Chromium 及其底层系统渲染依赖包
27
+ RUN npx playwright install chromium --with-deps
28
+
29
+ # 5. 创建相关目录并把所有权赋予 UID 1000 (node 用户)
30
+ RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli /home/node/.taskmaster /home/node/.cache && \
31
  chown -R 1000:1000 /data /home/node
32
 
33
+ # 6. 复制启动脚本
34
  COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
35
  RUN chmod +x /entrypoint.sh
36
 
37
+ # 切换回 UID 1000
38
  USER 1000
39
  ENV HOME=/home/node
 
40
  ENV HOST=0.0.0.0
41
  ENV PORT=7860
42
  ENV SERVER_PORT=7860
43
 
44
+ # 让 node 用户可以直接使用 pip 全局安装 Python 包
45
+ ENV PATH="${HOME}/.local/bin:${PATH}"
46
 
47
+ WORKDIR /data/app
48
  EXPOSE 7860
49
 
50
  ENTRYPOINT ["/entrypoint.sh"]
51
+ CMD ["cloudcli"]
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+ # FROM node:22-bullseye-slim
65
+
66
+ # # 安装 git, curl, bash 等开发工具
67
+ # RUN apt-get update && apt-get install -y \
68
+ # git \
69
+ # curl \
70
+ # ca-certificates \
71
+ # ripgrep \
72
+ # procps \
73
+ # && rm -rf /var/lib/apt/lists/*
74
+
75
+ # # 全局安装 Claude Code CLI 和 CloudCLI
76
+ # RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli
77
+
78
+ # # 创建挂载点 /data 以及家目录,并将所有权赋予 UID 1000
79
+ # RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli && \
80
+ # chown -R 1000:1000 /data /home/node
81
+
82
+ # # 复制入口脚本并设置权限
83
+ # COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
84
+ # RUN chmod +x /entrypoint.sh
85
+
86
+ # # 切换为 1000 用户 (node 用户)
87
+ # USER 1000
88
+ # ENV HOME=/home/node
89
+ # # 通过环境变量配置网络监听,避免命令行传参报错
90
+ # ENV HOST=0.0.0.0
91
+ # ENV PORT=7860
92
+ # ENV SERVER_PORT=7860
93
+
94
+ # WORKDIR /data/app
95
+
96
+ # EXPOSE 7860
97
+
98
+ # ENTRYPOINT ["/entrypoint.sh"]
99
+ # # 修正 CMD,直接调用 cloudcli(它会自动识别上面的 HOST 和 PORT 环境变量)
100
+ # CMD ["cloudcli"]