48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# IT0 OpenClaw Bridge
|
|
|
|
Custom Docker image that bundles the official [OpenClaw](https://github.com/openclaw/openclaw) agent with the IT0 Bridge process, enabling IT0's agent-service to manage and monitor OpenClaw instances.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Container (single image, two processes via supervisord)
|
|
├── openclaw gateway (internal port 18789, NOT exposed)
|
|
└── it0-bridge (external port 3000, exposed to IT0)
|
|
├── GET /health — liveness probe
|
|
├── GET /status — detailed status
|
|
├── POST /task — submit task to OpenClaw
|
|
├── GET /sessions — list sessions
|
|
└── GET /metrics — usage metrics
|
|
```
|
|
|
|
## Build & Push
|
|
|
|
```bash
|
|
docker build -t it0hub/openclaw-bridge:latest .
|
|
docker push it0hub/openclaw-bridge:latest
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Required | Description |
|
|
|---|---|---|
|
|
| `OPENCLAW_GATEWAY_TOKEN` | Yes | Internal OpenClaw gateway auth token |
|
|
| `CLAUDE_API_KEY` | Yes | Anthropic API key (injected by IT0) |
|
|
| `IT0_INSTANCE_ID` | Yes | UUID from IT0's agent_instances table |
|
|
| `IT0_AGENT_SERVICE_URL` | Yes | IT0 agent-service URL for heartbeat |
|
|
|
|
## Deploy (via iAgent SSH)
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name openclaw-{instanceId} \
|
|
--restart unless-stopped \
|
|
-p {hostPort}:3000 \
|
|
-v /data/openclaw/{instanceId}:/home/node/.openclaw \
|
|
-e OPENCLAW_GATEWAY_TOKEN={token} \
|
|
-e CLAUDE_API_KEY={claudeApiKey} \
|
|
-e IT0_INSTANCE_ID={instanceId} \
|
|
-e IT0_AGENT_SERVICE_URL=https://it0api.szaiai.com \
|
|
it0hub/openclaw-bridge:latest
|
|
```
|