Files
openclaw/stack.yml
2026-02-18 15:06:02 -05:00

82 lines
2.1 KiB
YAML

version: "3.8"
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE:-openclaw:local}
environment:
HOME: /home/node
TERM: xterm-256color
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
volumes:
- openclaw-config:/home/node/.openclaw
- openclaw-workspace:/home/node/.openclaw/workspace
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-n2
restart_policy:
condition: unless-stopped
networks:
- dokploy-network
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND:-lan}",
"--port",
"18789",
]
# Note: CLI service is interactive and best run locally or via docker run
# Uncomment if you need it for specific use cases
# openclaw-cli:
# image: ${OPENCLAW_IMAGE:-openclaw:local}
# environment:
# HOME: /home/node
# TERM: xterm-256color
# OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
# BROWSER: echo
# CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
# CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
# CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
# volumes:
# - openclaw-config:/home/node/.openclaw
# - openclaw-workspace:/home/node/.openclaw/workspace
# stdin_open: true
# tty: true
# init: true
# deploy:
# replicas: 1
# placement:
# constraints:
# - node.hostname == tpi-n2
# restart_policy:
# condition: unless-stopped
# networks:
# - dokploy-network
# entrypoint: ["node", "dist/index.js"]
volumes:
openclaw-config:
openclaw-workspace:
networks:
dokploy-network:
external: true