Update Dockerfile
Browse files- Dockerfile +15 -13
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,28 +16,30 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
| 16 |
unzip \
|
| 17 |
&& rm -rf /var/lib/apt/lists/*
|
| 18 |
|
| 19 |
-
# 2. 安装
|
| 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
|
| 24 |
-
RUN curl -fsSL https://cursor.com/install | bash
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
|
| 26 |
-
# 4.
|
| 27 |
-
ENV PATH="/home/node/.local/bin:${PATH}"
|
| 28 |
-
ENV HOME=/home/node
|
| 29 |
-
ENV HOST=0.0.0.0
|
| 30 |
-
ENV PORT=7860
|
| 31 |
-
ENV SERVER_PORT=7860
|
| 32 |
-
|
| 33 |
-
# 5. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
|
| 34 |
RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.codex /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor && \
|
| 35 |
chown -R 1000:1000 /data /home/node
|
| 36 |
|
| 37 |
-
#
|
| 38 |
COPY entrypoint.sh /entrypoint.sh
|
| 39 |
RUN chmod +x /entrypoint.sh
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
WORKDIR /data/app
|
| 42 |
EXPOSE 7860
|
| 43 |
|
|
|
|
| 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. 安装官方 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 |
|