Skip to content

Docker Deployment ​

Baize ships as a Docker image built from the published @baize-ai/core npm package — no source code in the build.

Run ​

Global (GitHub Container Registry):

bash
docker run -d --name baize \
  --restart unless-stopped \
  -p 3456:3456 \
  -p 8443:8443 \
  -e TZ=Asia/Shanghai \
  -e BAIZE_WEB_PASSWORD='<console-password>' \
  -v baize-data:/home/baize/baize \
  -v claude-config:/home/baize/.claude \
  ghcr.io/baize01-ai/baize-core:0.3.15

China (Aliyun ACR — fast, no mirror needed):

bash
docker run -d --name baize \
  --restart unless-stopped \
  -p 3456:3456 \
  -p 8443:8443 \
  -e TZ=Asia/Shanghai \
  -e BAIZE_WEB_PASSWORD='<console-password>' \
  -v baize-data:/home/baize/baize \
  -v claude-config:/home/baize/.claude \
  crpi-8bg62qbrjs3cr3as.cn-hangzhou.personal.cr.aliyuncs.com/baize01/baize-core:0.3.15

Credentials (Claude/Codex API key) can be configured after startup in the web console under Model settings — no need to inline them.

Ports ​

PortPurpose
3456Web console
8443A2A daemon (map and open in the firewall when A2A collaboration is enabled; the advertise URL is https://<your-host>:8443)

Volumes ​

VolumeContainer pathPurpose
baize-data/home/baize/baizeAgent home — memory, skills, services. The container path is fixed — do not change it to /home/baize/baize2 etc. (the entrypoint initializes at this exact path)
claude-config/home/baize/.claudeAI runtime configuration

Running a second instance on the same host: change the container name, host ports (-p 3457:3456 -p 8444:8443) and volume names — but keep the container paths unchanged.

After start ​

Open http://localhost:3456 for the web console. Configure authentication under Model settings: Claude API key / setup token / custom endpoint / Codex / ChatGPT login.

Further reading ​

  • Compose setup, optional auth environment variables and volume details are documented in the core repository at docs/docker.md
  • baize-admin-workspace (the A2A control plane) ships as its own image — see A2A Collaboration