Sign inSign up

dariogcode/openclaw

By dariogcode

•Updated 8 months ago

A ready-to-deploy Docker image for OpenClaw AI, optimized for Docker Swarm and Portainer.

Image
0

610

dariogcode/openclaw repository overview

⁠OpenClaw - Professional AI Assistant

A ready-to-deploy, professional build of OpenClaw⁠. This image is specifically optimized for Docker Swarm and Portainer environments, featuring automated Traefik routing and persistent data management.

⁠🚀 Key Features

  • Autonomous AI Agent: Run complex workflows on your own hardware.
  • Multi-Channel Support: Seamlessly integrate with WhatsApp, Telegram, Discord, and Slack.
  • Privacy & Control: Your data stays on your server.
  • Persistent & Robust: Designed to handle restarts and state persistence via Docker volumes.
  • Ready for Swarm: Pre-configured for cluster deployment and Traefik load balancing.

⁠🛠️ Quick Deployment (Docker Swarm / Portainer)

Use this stack configuration in Portainer to get started instantly:

version: "3.8"

services:
  openclaw-gateway:
    image: dariogcode/openclaw:latest
    networks:
      - traefik_public
      - general_network
    environment:
      # General settings
      HOME: /home/node
      TERM: xterm-256color
      NODE_ENV: production
      
      # OpenClaw specifics
      OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
      OPENCLAW_GATEWAY_BIND: ${OPENCLAW_GATEWAY_BIND:-lan}
      OPENCLAW_GATEWAY_PORT: ${OPENCLAW_GATEWAY_PORT:-18789}
      
      # AI Provider session keys (Required for Claude/Browser automation)
      CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY:-}
      CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY:-}
      CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE:-}

    volumes:
      - openclaw_data:/home/node/.openclaw

    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.openclaw.rule=Host(`your-domain.com`)"
        - "traefik.http.routers.openclaw.entrypoints=websecure"
        - "traefik.http.routers.openclaw.tls=true"
        - "traefik.http.services.openclaw.loadbalancer.server.port=18789"

    command:
      [
        "node",
        "dist/index.js",
        "gateway",
        "--bind",
        "lan",
        "--port",
        "18789",
      ]

volumes:
  openclaw_data:
    external: true

networks:
  traefik_public:
    external: true
  general_network:
    external: true

⁠⚙️ Configuration

VariableDescription
OPENCLAW_GATEWAY_TOKENSecurity token for API/CLI access.
CLAUDE_AI_SESSION_KEYRequired for Claude AI provider integration.
OPENCLAW_GATEWAY_PORTInternal application port (Default: 18789).
NODE_ENVSet to production for optimal performance.

⁠💾 Data Persistence

For your data to persist across deployments, create a named volume:

docker volume create openclaw_data

And ensure it is mounted to /home/node/.openclaw.

⁠🛡️ Security

This image runs under the non-privileged node user to ensure maximum security for your host system.


Note: This is a community build based on the official OpenClaw project. For core documentation, please visit the official repository⁠.

Tag summary

Content type

Image

Digest

sha256:aa741608e…

Size

1.7 GB

Last updated

8 months ago

docker pull dariogcode/openclaw