Skip to content

Commit d10f29c

Browse files
ZD Studiosclaude
andcommitted
fix(docker): publish only the Control Room by default
Bringing the stack up on a machine that already runs `aios start` natively failed: "Bind for 0.0.0.0:8000 failed: port is already allocated". The compose file published all eight service ports, but the native install already owns 4096/9119/18789/4788/8000 — and every one of those is an internal port the services reach over the container network anyway. Now only 8787 is published, via ${AIOS_PORT:-8787} so it can be moved without editing the file. The rest are listed commented-out for anyone who wants them. Verified by running the container on AIOS_PORT=18787 alongside a live native stack — both hubs healthy at once, no collision. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 10817bd commit d10f29c

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

docker-compose.yml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,20 @@ services:
1515
image: ghcr.io/zdstudios/aios:latest
1616
container_name: aios
1717
restart: unless-stopped
18+
# Only the Control Room is published. The services all talk to each other
19+
# inside the container, so publishing the rest just invites port collisions —
20+
# notably with a native `aios start` on the same machine, which already owns
21+
# 4096/9119/18789/4788/8000. Uncomment any you genuinely need from the host,
22+
# or change the left-hand (host) number to avoid a clash.
1823
ports:
19-
- "8787:8787" # ★ Control Room (the only one you normally need)
20-
- "4096:4096" # opencode
21-
- "9119:9119" # hermes
22-
- "18789:18789" # openclaw gateway (+ openclaw-os dashboard)
23-
- "4788:4788" # CrewAI
24-
- "8000:8000" # claude-code API
25-
- "8791:8791" # openclaw embed proxy
26-
- "8792:8792" # hermes embed proxy
24+
- "${AIOS_PORT:-8787}:8787" # ★ Control Room the only one you normally need
25+
# - "4096:4096" # opencode API
26+
# - "9119:9119" # hermes dashboard
27+
# - "18789:18789" # openclaw gateway (+ openclaw-os dashboard)
28+
# - "4788:4788" # CrewAI API
29+
# - "8000:8000" # claude-code API (OpenAI-compatible)
30+
# - "8791:8791" # openclaw embed proxy
31+
# - "8792:8792" # hermes embed proxy
2732
environment:
2833
# One provider key powers every agent. Leave blank and use your Claude
2934
# subscription instead (docker compose exec aios aios claude-login).

0 commit comments

Comments
 (0)