services:
  openclaw:
    container_name: ${CONTAINER_NAME}
    image: 1panel/openclaw:2026.9.9
    restart: unless-stopped
    networks:
      - 1panel-network
    environment:
      HOME: /home/node
      TERM: xterm-256color
      OPENCLAW_DISABLE_BONJOUR: "1"
    volumes:
      - ./data/conf:/home/node/.openclaw
      - ./data/workspace:/home/node/.openclaw/workspace
      - /etc/localtime:/etc/localtime
    ports:
      - ${PANEL_APP_PORT_HTTP}:18789
    init: true
    healthcheck:
      test:
        [
          "CMD",
          "node",
          "-e",
          "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
        ]
      interval: 3m
      timeout: 10s
      start_period: 15s
      retries: 3
    labels:
      createdBy: "Apps"

networks:
  1panel-network:
    external: true
