Update Dockerfile
Browse files- 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.
|
| 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 工具
|
| 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
|
| 24 |
RUN curl -fsSL https://cursor.com/install | bash && \
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
-
#
|
| 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 |
-
#
|
| 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 |
|