code / Dockerfile
huanbao's picture
Update Dockerfile
e1094c6 verified
Raw
History Blame Contribute Delete
2.15 kB
FROM node:22-bookworm-slim
ENV PIP_BREAK_SYSTEM_PACKAGES=1
# 1. 大幅瘦身 apt:加上 --no-install-recommends 剔除一切非必要依赖,秒级完成安装
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
python3-pip \
git \
curl \
ca-certificates \
ripgrep \
procps \
tree \
jq \
unzip \
&& rm -rf /var/lib/apt/lists/*
# 2. 安装核心 CLI 工具并清理 npm 缓存
RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli task-master-ai pnpm \
&& npm cache clean --force
# 3. 创建挂载点与配置目录,并将所有权赋予 UID 1000 (node 用户)
RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli /home/node/.taskmaster && \
chown -R 1000:1000 /data /home/node
# 4. 复制入口脚本并设置权限
COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
USER 1000
ENV HOME=/home/node
ENV HOST=0.0.0.0
ENV PORT=7860
ENV SERVER_PORT=7860
WORKDIR /data/app
EXPOSE 7860
ENTRYPOINT ["/entrypoint.sh"]
CMD ["cloudcli"]
# FROM node:22-bullseye-slim
# # 安装 git, curl, bash 等开发工具
# RUN apt-get update && apt-get install -y \
# git \
# curl \
# ca-certificates \
# ripgrep \
# procps \
# && rm -rf /var/lib/apt/lists/*
# # 全局安装 Claude Code CLI 和 CloudCLI
# RUN npm install -g @anthropic-ai/claude-code @cloudcli-ai/cloudcli
# # 创建挂载点 /data 以及家目录,并将所有权赋予 UID 1000
# RUN mkdir -p /data /home/node/app /home/node/.claude /home/node/.cloudcli && \
# chown -R 1000:1000 /data /home/node
# # 复制入口脚本并设置权限
# COPY --chown=1000:1000 entrypoint.sh /entrypoint.sh
# RUN chmod +x /entrypoint.sh
# # 切换为 1000 用户 (node 用户)
# USER 1000
# ENV HOME=/home/node
# # 通过环境变量配置网络监听,避免命令行传参报错
# ENV HOST=0.0.0.0
# ENV PORT=7860
# ENV SERVER_PORT=7860
# WORKDIR /data/app
# EXPOSE 7860
# ENTRYPOINT ["/entrypoint.sh"]
# # 修正 CMD,直接调用 cloudcli(它会自动识别上面的 HOST 和 PORT 环境变量)
# CMD ["cloudcli"]