Update Dockerfile
Browse files- Dockerfile +12 -19
Dockerfile
CHANGED
|
@@ -1,7 +1,8 @@
|
|
| 1 |
FROM node:22-bookworm-slim
|
|
|
|
| 2 |
ENV PIP_BREAK_SYSTEM_PACKAGES=1
|
| 3 |
|
| 4 |
-
# 1. 大幅瘦身 apt:
|
| 5 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 6 |
python3 \
|
| 7 |
python3-pip \
|
|
@@ -15,36 +16,28 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
| 15 |
unzip \
|
| 16 |
&& rm -rf /var/lib/apt/lists/*
|
| 17 |
|
| 18 |
-
# 2. 安装
|
| 19 |
-
RUN curl -fsSL https://cursor.com/install | bash && \
|
| 20 |
-
mkdir -p /usr/local/bin && \
|
| 21 |
-
( [ -d /root/.local/bin ] && cp -rf /root/.local/bin/* /usr/local/bin/ || true ) && \
|
| 22 |
-
( [ -d /root/.cursor-agent/bin ] && cp -rf /root/.cursor-agent/bin/* /usr/local/bin/ || true ) && \
|
| 23 |
-
( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor || true ) && \
|
| 24 |
-
( [ -f /usr/local/bin/agent ] && ln -sf /usr/local/bin/agent /usr/local/bin/cursor-agent || true ) && \
|
| 25 |
-
chmod -R 755 /usr/local/bin/
|
| 26 |
-
|
| 27 |
-
# 3. 安装核心 Node.js CLI 工具
|
| 28 |
RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm \
|
| 29 |
-
&& touch /usr/local/lib/node_modules/@cloudcli-ai/cloudcli/.env \
|
| 30 |
&& npm cache clean --force
|
| 31 |
|
| 32 |
-
#
|
| 33 |
-
RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.
|
| 34 |
-
|
| 35 |
|
| 36 |
-
#
|
| 37 |
-
COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
|
|
|
|
| 38 |
RUN chmod +x /entrypoint.sh
|
| 39 |
|
| 40 |
-
USER 1000
|
| 41 |
ENV HOME=/home/node
|
| 42 |
-
ENV PATH="/usr/local/bin:/home/node/.local/bin:${PATH}"
|
| 43 |
ENV HOST=0.0.0.0
|
| 44 |
ENV PORT=7860
|
| 45 |
ENV SERVER_PORT=7860
|
|
|
|
| 46 |
WORKDIR /data/app
|
| 47 |
EXPOSE 7860
|
|
|
|
| 48 |
ENTRYPOINT ["/entrypoint.sh"]
|
| 49 |
CMD ["cloudcli"]
|
| 50 |
|
|
|
|
| 1 |
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 |
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. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
|
| 24 |
+
RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.codex /home/node/.cloudcli /home/node/.taskmaster /home/node/.cursor && \
|
| 25 |
+
chown -R 1000:1000 /data /home/node
|
| 26 |
|
| 27 |
+
# 4. 复制入口脚本并设置权限
|
| 28 |
+
# COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
|
| 29 |
+
COPY entrypoint.sh /entrypoint.sh
|
| 30 |
RUN chmod +x /entrypoint.sh
|
| 31 |
|
| 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 |
WORKDIR /data/app
|
| 39 |
EXPOSE 7860
|
| 40 |
+
|
| 41 |
ENTRYPOINT ["/entrypoint.sh"]
|
| 42 |
CMD ["cloudcli"]
|
| 43 |
|