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.15China (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.15Credentials (Claude/Codex API key) can be configured after startup in the web console under Model settings — no need to inline them.
Ports
| Port | Purpose |
|---|---|
3456 | Web console |
8443 | A2A daemon (map and open in the firewall when A2A collaboration is enabled; the advertise URL is https://<your-host>:8443) |
Volumes
| Volume | Container path | Purpose |
|---|---|---|
baize-data | /home/baize/baize | Agent 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/.claude | AI 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
