-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
46 lines (44 loc) · 2.5 KB
/
Copy pathdocker-compose.yml
File metadata and controls
46 lines (44 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# CoralOS coordinator for the TxODDS round — stock coral-server, wallet-free.
#
# docker compose up -d coral # start coral-server (the MCP coordinator)
# cd examples/txodds && npm run coral # launch one buyer + one World Cup seller round
#
# coral-server is a PURE MCP coordinator (no [wallet]). It launches the buyer + seller as containers per
# session via the Docker socket; settlement is direct x402 (agent-side) — coral never holds a key.
# Per-agent config is sent by examples/txodds/coral/round.ts in the session request; the env below is a
# fallback forwarded to the agents coral launches.
services:
# ── CoralOS — MCP bus that launches the agents per session ──────────────────
# Docs: running coral-server https://docs.coralos.ai/reference/server/docker · it spawns agent
# containers via the mounted docker.sock (Docker-in-Docker):
# https://docs.coralos.ai/guides/production/docker-in-docker · whole-kit walkthrough /CORAL.md
coral:
# docker/coral-server.Dockerfile extends the pinned upstream image (still pinned by digest there,
# for reproducibility) with a Node.js runtime, so agents registered with runtime = "executable"
# (verifier-agent) can actually run - the stock image has no Node. `docker compose up -d coral`
# builds this automatically on first run. To bump the base digest, edit the Dockerfile, not here:
# docker pull ghcr.io/coral-protocol/coral-server:latest
# docker inspect --format '{{index .RepoDigests 0}}' ghcr.io/coral-protocol/coral-server:latest
build:
context: .
dockerfile: docker/coral-server.Dockerfile
container_name: coral
ports:
- "5555:5555"
environment:
- CONFIG_FILE_PATH=/config/coral.toml
# Forwarded to the agents coral launches (round.ts also passes these per-agent):
- SELLER_WALLET=${WALLET}
- SOLANA_RPC_URL=${SOLANA_RPC_URL:-https://api.devnet.solana.com}
- BUYER_KEYPAIR_B58=${BUYER_KEYPAIR_B58}
- BUYER_MAX_SOL=${BUYER_MAX_SOL:-0.001}
# The TxLINE token the seller uses to fetch verified World Cup odds (mint with `npm run mint`).
- TXLINE_API_KEY=${TXLINE_API_KEY}
- TXLINE_BASE_URL=${TXLINE_BASE_URL:-}
# Set TRACE=1 to log coral_* calls + on-chain Explorer links in the agents.
- TRACE=${TRACE:-}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./examples/txodds/coral/coral.toml:/config/coral.toml:ro
- ./coral-agents:/agents:ro
restart: unless-stopped