huanbao commited on
Commit
38be7e9
·
verified ·
1 Parent(s): 7f923bb

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +25 -9
Dockerfile CHANGED
@@ -1,6 +1,10 @@
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 \
@@ -15,27 +19,39 @@ RUN apt-get update && apt-get install -y \
15
  ca-certificates \
16
  ripgrep \
17
  procps \
 
 
 
 
 
 
18
  && rm -rf /var/lib/apt/lists/*
19
 
20
- # 2. 全局安装 CLI 工具 (Claude Code, CloudCLI, TaskMaster)
21
- RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai
 
 
 
 
 
 
22
 
23
- # 3. 创建相关目录并将所有权赋予 UID 1000 (node 用户)
24
- RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli /home/node/.taskmaster && \
25
  chown -R 1000:1000 /data /home/node
26
 
27
- # 4. 复制启动脚本
28
  COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
29
  RUN chmod +x /entrypoint.sh
30
 
31
- # 切换为 1000 用户 (node 用户)
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
- # 让 node 用户可以直接使用 pip 全局安装 Python 包
39
  ENV PATH="${HOME}/.local/bin:${PATH}"
40
 
41
  WORKDIR /data/app
 
1
+ # 切换为 Debian 12 (bookworm),默认提供 Python 3.11
2
+ FROM node:22-bookworm-slim
3
 
4
+ # 1. 允许 pip 在系统环境中自由安装包 (解决 Debian 12 PEP 668 报错)
5
+ ENV PIP_BREAK_SYSTEM_PACKAGES=1
6
+
7
+ # 2. 以 root 身份安装 Python3 (3.11)、编译工具、极速检索工具与常用 CLI
8
  RUN apt-get update && apt-get install -y \
9
  python3 \
10
  python3-pip \
 
19
  ca-certificates \
20
  ripgrep \
21
  procps \
22
+ tree \
23
+ sqlite3 \
24
+ fd-find \
25
+ ffmpeg \
26
+ net-tools \
27
+ dnsutils \
28
  && rm -rf /var/lib/apt/lists/*
29
 
30
+ # 建立 fd 命令软链接 (Debian 默认将 fd 命名为 fdfind)
31
+ RUN ln -s /usr/bin/fdfind /usr/local/bin/fd
32
+
33
+ # 3. 全局安装 AI CLI 工具以及前端常用包管理器 (pnpm, yarn)
34
+ RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm yarn
35
+
36
+ # 4. 全局安装极速 Python 工具 uv
37
+ RUN pip install --no-cache-dir uv
38
 
39
+ # 5. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
40
+ RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli /home/node/.taskmaster /home/node/.local/bin && \
41
  chown -R 1000:1000 /data /home/node
42
 
43
+ # 6. 复制入口脚本并设置权限
44
  COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
45
  RUN chmod +x /entrypoint.sh
46
 
47
+ # 切换为 UID 1000 (满足 Hugging Face 安全要求)
48
  USER 1000
49
  ENV HOME=/home/node
50
  ENV HOST=0.0.0.0
51
  ENV PORT=7860
52
  ENV SERVER_PORT=7860
53
 
54
+ # 将用户级别的 bin 目录加入 PATH,方便 pip/uv 安装的命令行工具调用
55
  ENV PATH="${HOME}/.local/bin:${PATH}"
56
 
57
  WORKDIR /data/app