Update Dockerfile
Browse files- Dockerfile +25 -9
Dockerfile
CHANGED
|
@@ -1,6 +1,10 @@
|
|
| 1 |
-
|
|
|
|
| 2 |
|
| 3 |
-
# 1.
|
|
|
|
|
|
|
|
|
|
| 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 |
-
#
|
| 21 |
-
RUN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
#
|
| 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 |
-
#
|
| 28 |
COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
|
| 29 |
RUN chmod +x /entrypoint.sh
|
| 30 |
|
| 31 |
-
# 切换为 1000
|
| 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 |
-
#
|
| 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
|