huanbao commited on
Commit
cb95286
·
verified ·
1 Parent(s): 1c79b27

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +18 -14
Dockerfile CHANGED
@@ -2,7 +2,7 @@ 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,30 +16,34 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
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. 安装官方 Cursor CLI (原生二进制),并移至公共 PATH (/usr/local/bin)
24
  RUN curl -fsSL https://cursor.com/install | bash && \
25
- ( [ -d /root/.local/bin ] && cp -f /root/.local/bin/* /usr/local/bin/ || true ) && \
26
- ( [ -d /root/.cursor/bin ] && cp -f /root/.cursor/bin/* /usr/local/bin/ || true ) && \
27
- ( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor-agent || true ) && \
28
- ( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor || true )
 
 
 
 
 
 
 
 
 
29
 
30
- # 4. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
31
  RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.codex /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor && \
32
  chown -R 1000:1000 /data /home/node
33
 
34
- # 5. 复制入口脚本并设置权限
35
  COPY entrypoint.sh /entrypoint.sh
36
  RUN chmod +x /entrypoint.sh
37
 
38
- ENV HOME=/home/node
39
- ENV HOST=0.0.0.0
40
- ENV PORT=7860
41
- ENV SERVER_PORT=7860
42
-
43
  WORKDIR /data/app
44
  EXPOSE 7860
45
 
 
2
 
3
  ENV PIP_BREAK_SYSTEM_PACKAGES=1
4
 
5
+ # 1. 安装基础依赖
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 工具
20
  RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm \
21
  && npm cache clean --force
22
 
23
+ # 3. 安装官方 Cursor CLI,并使用【软链接】暴露到全局 PATH(保持 index.js 相对路径不破坏)
24
  RUN curl -fsSL https://cursor.com/install | bash && \
25
+ chmod -R 755 /root/.local && \
26
+ if [ -f /root/.local/bin/agent ]; then \
27
+ ln -sf /root/.local/bin/agent /usr/local/bin/agent && \
28
+ ln -sf /root/.local/bin/agent /usr/local/bin/cursor-agent && \
29
+ ln -sf /root/.local/bin/agent /usr/local/bin/cursor; \
30
+ fi
31
+
32
+ # 4. 设置环境变量
33
+ ENV PATH="/root/.local/bin:/home/node/.local/bin:${PATH}"
34
+ ENV HOME=/home/node
35
+ ENV HOST=0.0.0.0
36
+ ENV PORT=7860
37
+ ENV SERVER_PORT=7860
38
 
39
+ # 5. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
40
  RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.codex /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor && \
41
  chown -R 1000:1000 /data /home/node
42
 
43
+ # 6. 复制入口脚本并设置权限
44
  COPY entrypoint.sh /entrypoint.sh
45
  RUN chmod +x /entrypoint.sh
46
 
 
 
 
 
 
47
  WORKDIR /data/app
48
  EXPOSE 7860
49