| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 1 个月前 |
AtomCode Docker 镜像
本目录包含两种 Docker 镜像:
- Dockerfile-Daemon - 用于部署 AtomCode Daemon 后台服务
- Dockerfile-TUI - 用于在 macOS/Windows 上体验 Linux 版本的 AtomCode TUI
AtomCode TUI 镜像
用于在 macOS 或 Windows 上体验 Linux 版本的 AtomCode 终端界面。
构建镜像
# 1. 先编译 Linux 版本(需要 musl 交叉编译工具)
brew install FiloSottile/musl-cross/musl-cross
./scripts/release.sh
# 2. 构建 Docker 镜像
docker build -t atomcode -f docker/Dockerfile-TUI .
运行容器
# 基本运行
docker run --rm -it atomcode
# 挂载配置和项目目录
docker run --rm -it \
-v ~/.atomcode:/root/.atomcode \
-v $(pwd):/workspace \
atomcode
# 指定工作目录
docker run --rm -it \
-v ~/.atomcode:/root/.atomcode \
-v /path/to/project:/workspace \
atomcode
# 传递环境变量(API Key)
docker run --rm -it \
-e ANTHROPIC_API_KEY=your-api-key \
-v ~/.atomcode:/root/.atomcode \
atomcode
注意: TUI 模式需要
-it参数来启用交互式终端。
AtomCode Daemon 镜像
构建镜像
首先运行 release 脚本生成 Linux 二进制文件:
./scripts/release.sh
然后构建 Docker 镜像:
docker build -t atomcode-daemon:v5.0.3 -f docker/Dockerfile-Daemon .
多架构构建(amd64 + arm64)
Dockerfile-Daemon 支持多架构:通过 buildx 的 TARGETARCH 自动选择对应产物(amd64 → linux-x64 二进制,arm64 → linux-arm64 二进制),一次构建即可产出同时支持 x86 与 ARM64(群晖/威联通 ARM 机型、树莓派等)的镜像。
一键构建并推送多架构镜像:
docker/build-multiarch.sh # 默认镜像名 atomcode-daemon:v<版本>,构建并推送
docker/build-multiarch.sh myrepo/atomcode:v1 # 指定镜像名
BUILD_ONLY=1 docker/build-multiarch.sh # 构建并加载当前主机架构,不推送
脚本会自动调用 scripts/release.sh(ATOMCODE_INCLUDE_DAEMON=1)交叉编译 x64 + arm64 两种 daemon 产物后交给 buildx。前置条件:安装 musl 交叉编译工具链(brew install FiloSottile/musl-cross/musl-cross)。
推送到华为云 SWR
华为云 SWR 基础版不支持 OCI 规范的镜像格式。如果你使用的是较新版本的 Docker(BuildKit),需要添加 --provenance=false 参数:
# 标记镜像
docker tag atomcode-daemon:v5.0.3 swr.cn-north-4.myhuaweicloud.com/gitcode-be/atomcode-daemon:v5.0.3
# 使用 buildx 构建并推送(推荐)
docker buildx build --provenance=false --platform linux/amd64 -t swr.cn-north-4.myhuaweicloud.com/gitcode-be/atomcode-daemon:v5.0.3 --push -f docker/Dockerfile-Daemon .
# 或者先构建再推送
docker build --provenance=false -t swr.cn-north-4.myhuaweicloud.com/gitcode-be/atomcode-daemon:v5.0.3 -f docker/Dockerfile-Daemon .
docker push swr.cn-north-4.myhuaweicloud.com/gitcode-be/atomcode-daemon:v5.0.3
注意: 如果不添加
--provenance=false,推送时会报错:Invalid image, fail to parse 'manifest.json'
运行容器
基本运行
docker run -d --name atomcode-daemon \
-p 13456:13456 \
atomcode-daemon:v5.0.3
挂载配置文件
docker run -d --name atomcode-daemon \
-p 13456:13456 \
-v /path/to/config.toml:/root/.atomcode/config.toml \
atomcode-daemon:v5.0.3
挂载项目目录
docker run -d --name atomcode-daemon \
-p 13456:13456 \
-v /path/to/config.toml:/root/.atomcode/config.toml \
-v /path/to/project:/workspace \
atomcode-daemon:v5.0.3
传递环境变量
docker run -d --name atomcode-daemon \
-p 13456:13456 \
-e ANTHROPIC_API_KEY=your-api-key \
-v $(pwd)/config.toml:/root/.atomcode/config.toml \
atomcode-daemon:v5.0.3
验证服务
# 测试 API
curl http://localhost:13456/
# 查看日志
docker logs atomcode-daemon
常用命令
docker start atomcode-daemon # 启动
docker stop atomcode-daemon # 停止
docker restart atomcode-daemon # 重启
docker rm -f atomcode-daemon # 删除
docker logs -f atomcode-daemon # 查看日志
NAS 一键部署(群晖 / 威联通等)
项目提供 docker-compose.yml,适合在 NAS / 服务器上常驻运行 daemon:崩溃自动重启(restart: unless-stopped)、健康检查、运行数据与项目目录持久化,配合手机 GitCode App(/app)、WebUI 或 daemon HTTP API 随时远程调试。
快速开始
# 1. 准备配置、数据与项目目录(daemon 以 root 运行)
mkdir -p docker/data docker/projects
cp docker/config-example.toml docker/config.toml # 填入 provider / api_key
# 2. 首次使用需先编译 Linux 二进制(生成 dist/ 目录)再构建镜像
./scripts/release.sh
# 3. 构建并后台启动
docker compose -f docker/docker-compose.yml up -d
# 4. 验证
curl http://localhost:13456/health
安全提示:daemon 暴露聊天、文件编辑、工具执行等敏感端点,镜像默认无鉴权。 compose 端口默认仅绑定
127.0.0.1(本机访问)。如需从局域网/NAS 访问,用BIND_ADDR显式放开,并务必先部署反向代理 + TLS + token 鉴权:BIND_ADDR=0.0.0.0 docker compose -f docker/docker-compose.yml up -d
data/ 会持久化会话、日志、认证、插件等完整运行状态;config.toml 会以只读方式覆盖挂载到容器,projects/ 会挂载为 /workspace。
群晖 Container Manager
- 打开「Container Manager」→「项目」→「新增」。
- 项目名称填写
atomcode,路径选择完整 AtomCode 仓库中的docker/目录;默认 compose 使用..作为镜像构建上下文,因此不能只复制单个 compose 文件。 - 来源选择「使用 docker-compose.yml」,确认后启动项目。
- 在「容器」页确认
atomcode-daemon状态为运行中。
威联通 Container Station
- 打开「Container Station」→「应用程序」→「创建应用程序」。
- 选择完整仓库
docker/目录中的docker-compose.yml,验证通过后创建。 - 若使用本地镜像,先在「映像」页构建或导入对应架构的 daemon 镜像。
手机访问
默认端口只绑定宿主机 127.0.0.1。仅在可信局域网中需要手机直连时,使用:
BIND_ADDR=0.0.0.0 docker compose -f docker/docker-compose.yml up -d
curl http://<NAS-IP>:13456/health
随后可通过 http://<NAS-IP>:13456 访问。公网访问必须使用反向代理、HTTPS 与 token 鉴权,或使用 Tailscale 等可信内网方案,切勿直接暴露 daemon 端口。
常用 compose 命令
docker compose -f docker/docker-compose.yml logs -f # 查看日志
docker compose -f docker/docker-compose.yml restart # 重启
docker compose -f docker/docker-compose.yml down # 停止并移除容器
使用预构建镜像
docker-compose.yml 默认从完整仓库本地构建。如果 NAS 上只有独立部署目录,必须先导入本地镜像或使用镜像仓库,并把 build 段替换为 image 段(见文件内注释)。
ARM64 与多架构构建方式见上方「多架构构建」章节。官方多架构镜像与自动化构建仍在推进中,详见 issue #1421 / #1431。