services: margaret: image: margaret-openclaw:latest container_name: margaret restart: unless-stopped network_mode: host user: "0:0" environment: - NODE_ENV=production - HOME=/home/glyptic - USER=glyptic - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - OPENCLAW_STATE_DIR=/home/glyptic/.openclaw - OPENCLAW_CONFIG_PATH=/home/glyptic/.openclaw/openclaw.json volumes: - /mnt/infrastructure/margaret:/home/glyptic/.openclaw command: ["sh", "-c", "mkdir -p /home/glyptic && node --max-old-space-size=1500 /usr/local/lib/node_modules/openclaw/dist/index.js gateway --allow-unconfigured"] mem_limit: 2G memswap_limit: 2G logging: driver: "json-file" options: max-size: "50m" max-file: "3" spirit: image: spirit-ops:latest container_name: spirit restart: unless-stopped network_mode: host user: "0:0" labels: - com.centurylinklabs.watchtower.enable=false environment: - NODE_ENV=production - HOME=/home/glyptic - USER=glyptic - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - GEMINI_API_KEY=${GEMINI_API_KEY} - WIKIJS_API_KEY=${WIKIJS_API_KEY} - OPENCLAW_STATE_DIR=/home/glyptic/.spirit - OPENCLAW_CONFIG_PATH=/home/glyptic/.spirit/openclaw.json volumes: - /mnt/infrastructure/spirit:/home/glyptic/.spirit - /var/run/docker.sock:/var/run/docker.sock - /mnt/infrastructure/spirit/ssh:/root/.ssh:ro - /mnt/docker-data/configs/prometheus:/prometheus-config - /mnt/docker-data/configs/alertmanager:/alertmanager-config command: ["sh", "-c", "mkdir -p /home/glyptic && node --max-old-space-size=1500 /usr/local/lib/node_modules/openclaw/dist/index.js gateway --allow-unconfigured"] mem_limit: 3G memswap_limit: 3G logging: driver: "json-file" options: max-size: "50m" max-file: "3"