huanbao commited on
Commit
c02aa56
·
verified ·
1 Parent(s): 00284be

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -19
Dockerfile CHANGED
@@ -1,7 +1,8 @@
1
  FROM node:22-bookworm-slim
 
2
  ENV PIP_BREAK_SYSTEM_PACKAGES=1
3
 
4
- # 1. 大幅瘦身 apt:安装必要依赖
5
  RUN apt-get update && apt-get install -y --no-install-recommends \
6
  python3 \
7
  python3-pip \
@@ -15,36 +16,28 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
15
  unzip \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
- # 2. 安装 Cursor CLI 并把 agent 软链接为 cursor 和 cursor-agent
19
- RUN curl -fsSL https://cursor.com/install | bash && \
20
- mkdir -p /usr/local/bin && \
21
- ( [ -d /root/.local/bin ] && cp -rf /root/.local/bin/* /usr/local/bin/ || true ) && \
22
- ( [ -d /root/.cursor-agent/bin ] && cp -rf /root/.cursor-agent/bin/* /usr/local/bin/ || true ) && \
23
- ( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor || true ) && \
24
- ( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor-agent || true ) && \
25
- chmod -R 755 /usr/local/bin/
26
-
27
- # 3. 安装核心 Node.js CLI 工具
28
  RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm \
29
- && touch /usr/local/lib/node_modules/@cloudcli-ai/cloudcli/.env \
30
  && npm cache clean --force
31
 
32
- # 4. 创建挂载点与配置目录(包含 .config),赋权给 node 用户 (1000)
33
- RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor /home/node/.cursor-agent /home/node/.config \
34
- && chown -R 1000:1000 /data /home/node
35
 
36
- # 5. 复制入口脚本并设置权限
37
- COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
 
38
  RUN chmod +x /entrypoint.sh
39
 
40
- USER 1000
41
  ENV HOME=/home/node
42
- ENV PATH="/usr/local/bin:/home/node/.local/bin:${PATH}"
43
  ENV HOST=0.0.0.0
44
  ENV PORT=7860
45
  ENV SERVER_PORT=7860
 
46
  WORKDIR /data/app
47
  EXPOSE 7860
 
48
  ENTRYPOINT ["/entrypoint.sh"]
49
  CMD ["cloudcli"]
50
 
 
1
  FROM node:22-bookworm-slim
2
+
3
  ENV PIP_BREAK_SYSTEM_PACKAGES=1
4
 
5
+ # 1. 大幅瘦身 apt:加上 --no-install-recommends 剔除一切非必要依赖,秒级完成安装
6
  RUN apt-get update && apt-get install -y --no-install-recommends \
7
  python3 \
8
  python3-pip \
 
16
  unzip \
17
  && rm -rf /var/lib/apt/lists/*
18
 
19
+ # 2. 安装核心 CLI 工具并清理 npm 缓存
 
 
 
 
 
 
 
 
 
20
  RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm \
 
21
  && npm cache clean --force
22
 
23
+ # 3. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
24
+ RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.codex /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor && \
25
+ chown -R 1000:1000 /data /home/node
26
 
27
+ # 4. 复制入口脚本并设置权限
28
+ # COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
29
+ COPY entrypoint.sh /entrypoint.sh
30
  RUN chmod +x /entrypoint.sh
31
 
32
+ # USER 1000
33
  ENV HOME=/home/node
 
34
  ENV HOST=0.0.0.0
35
  ENV PORT=7860
36
  ENV SERVER_PORT=7860
37
+
38
  WORKDIR /data/app
39
  EXPOSE 7860
40
+
41
  ENTRYPOINT ["/entrypoint.sh"]
42
  CMD ["cloudcli"]
43