Files
openclaw/stack.yml

62 lines
1.5 KiB
YAML

version: "3.8"
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE:-registry.lan/openclaw:latest}
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
MOONSHOT_API_KEY: ${MOONSHOT_API_KEY}
OPENCLAW_CONFIG_DIR: /data/config
GOG_CONFIG_DIR: /data/gog
GOOGLE_APPLICATION_CREDENTIALS: /data/secrets/google-credentials.json
GOG_ACCOUNT: ${GOG_ACCOUNT:-}
volumes:
- openclaw-config:/home/node/.openclaw
- openclaw-workspace:/home/node/.openclaw/workspace
# Mount configs and secrets from host (not baked into image)
- ./config:/data/config:ro
- ./secrets:/data/secrets:ro
# gog OAuth tokens persist here
- gog-data:/data/gog
ports:
- target: 18789
published: ${OPENCLAW_GATEWAY_PORT:-18789}
protocol: tcp
mode: host
- target: 18790
published: ${OPENCLAW_BRIDGE_PORT:-18790}
protocol: tcp
mode: host
init: true
deploy:
replicas: 1
placement:
constraints:
- node.hostname == tpi-n1
networks:
- dokploy-network
# Add Gitea SSH access (if needed for git operations)
extra_hosts:
- "gitea.bendtstudio.com:192.168.2.130"
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND:-lan}",
"--port",
"18789",
]
volumes:
openclaw-config:
openclaw-workspace:
gog-data:
networks:
dokploy-network:
external: true