forked from openclaw/openclaw
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.coolify-005.yml
More file actions
65 lines (65 loc) · 2.63 KB
/
docker-compose.coolify-005.yml
File metadata and controls
65 lines (65 loc) · 2.63 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE:-alpine/openclaw:main}
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
TELEGRAM_OWNER_ID: ${TELEGRAM_OWNER_ID:-}
TOWNHALL_WEBHOOK_TOKEN: ${TOWNHALL_WEBHOOK_TOKEN:-}
OPENCLAW_VERBOSE: "1"
volumes:
- /ape-005:/home/node/.openclaw
- /ape-005/workspace:/home/node/.openclaw/workspace
ports:
- "${OPENCLAW_GATEWAY_PORT:-18795}:18789"
- "${OPENCLAW_BRIDGE_PORT:-18796}:18790"
init: true
restart: unless-stopped
entrypoint: ["/bin/sh", "-c"]
command:
- |
if [ ! -f /home/node/.openclaw/openclaw.json ]; then
if [ -n "$$TELEGRAM_BOT_TOKEN" ]; then
TG_BLOCK='"telegram": { "enabled": true, "botToken": "'"$$TELEGRAM_BOT_TOKEN"'", "dmPolicy": "allowlist", "allowFrom": ["'"$$TELEGRAM_OWNER_ID"'"], "groupPolicy": "allowlist", "streaming": "off" }'
else
TG_BLOCK='"telegram": { "enabled": false }'
fi
if [ -n "$$TOWNHALL_WEBHOOK_TOKEN" ]; then
HOOKS_BLOCK='"hooks": { "enabled": true, "path": "/hooks", "token": "'"$$TOWNHALL_WEBHOOK_TOKEN"'", "allowRequestSessionKey": true },'
else
HOOKS_BLOCK='"hooks": { "enabled": false },'
fi
if [ -n "$$OPENROUTER_API_KEY" ]; then
MODEL_PRIMARY="openrouter/google/gemini-3-flash-preview"
elif [ -n "$$ANTHROPIC_API_KEY" ]; then
MODEL_PRIMARY="claude-haiku-4-5-20251001"
else
echo "[init] ERROR: No API key found. Set OPENROUTER_API_KEY or ANTHROPIC_API_KEY." >&2
exit 1
fi
cat > /home/node/.openclaw/openclaw.json << ENDOFCONFIG
{
"agents": {
"defaults": {
"model": { "primary": "$$MODEL_PRIMARY" },
"compaction": { "mode": "safeguard" }
}
},
"commands": { "native": "auto", "nativeSkills": "auto", "restart": true },
$$HOOKS_BLOCK
"channels": { $$TG_BLOCK },
"gateway": {
"mode": "local",
"bind": "loopback",
"auth": { "mode": "token", "token": "$$OPENCLAW_GATEWAY_TOKEN" }
}
}
ENDOFCONFIG
echo "[init] default openclaw.json written"
fi
exec node openclaw.mjs gateway --allow-unconfigured --bind $${OPENCLAW_GATEWAY_BIND:-loopback} --port 18789