feat: add Openclaw template (#694)

* feat: rename Moltbot to Openclaw and update related configurations

* fix: update Openclaw image version to 2026.1.29 in docker-compose.yml

* fix: correct environment variable name for Openclaw gateway

* fix: correct volume path for Openclaw workspace in docker-compose.yml

* feat: rename Moltbot to Openclaw and update metadata

* fix: moving 'openclaw' entry below so the file looks sorted

* fix: add missing newline at end of meta.json

* fix: update docker-compose.yml to use 'expose' instead of 'ports' and change bind option to 'lan'

* feat: update Openclaw service configuration in docker-compose.yml and template.toml

- Changed service name from 'openclaw-gateway' to 'openclaw' and updated image version.
- Enhanced environment variables for better configuration management.
- Added a new 'browser' service with health checks and updated volume paths.

* refactor: update environment variable configuration in docker-compose.yml for Openclaw service

---------

Co-authored-by: Mauricio Siu <siumauricio@icloud.com>
This commit is contained in:
vabs
2026-02-10 17:12:22 -05:00
committed by GitHub
parent 2690ea1e1b
commit 853b643802
6 changed files with 134 additions and 80 deletions

View File

@@ -1,35 +0,0 @@
services:
moltbot-gateway:
image: ghcr.io/moltbot/clawdbot:2026.1.24-1
environment:
HOME: /home/node
TERM: xterm-256color
CLAWDBOT_GATEWAY_TOKEN: ${CLAWDBOT_GATEWAY_TOKEN}
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
CLAWDBOT_GATEWAY_URL: ws://0.0.0.0:18789
OPENROUTER_API_KEY: ${OPENROUTER_API_KEY}
volumes:
- moltbot-config:/home/node/.clawdbot
- moltbot-workspace:/home/node/clawd
ports:
- "18789"
- "18790"
init: true
restart: unless-stopped
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"auto",
"--port",
"18789",
"--allow-unconfigured"
]
volumes:
moltbot-config:
moltbot-workspace:

View File

@@ -1,18 +0,0 @@
[variables]
gateway_token = "${password:32}"
[config]
[[config.domains]]
serviceName = "moltbot-gateway"
port = 18789
host = "${domain}"
[config.env]
CLAWDBOT_GATEWAY_TOKEN = "${gateway_token}"
CLAWDBOT_GATEWAY_PORT = 18789
CLAWDBOT_BRIDGE_PORT = 18790
CLAWDBOT_GATEWAY_BIND="lan"
CLAWDBOT_PLUGINS="discord,memory-core"
# Get here https://openrouter.ai/
OPENROUTER_API_KEY="YOUR-API-KEY"

View File

@@ -0,0 +1,86 @@
services:
openclaw:
image: "coollabsio/openclaw:2026.2.6"
environment:
- AUTH_USERNAME=${AUTH_USERNAME}
- AUTH_PASSWORD=${AUTH_PASSWORD}
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- XAI_API_KEY=${XAI_API_KEY}
- GROQ_API_KEY=${GROQ_API_KEY}
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY}
- VENICE_API_KEY=${VENICE_API_KEY}
- MOONSHOT_API_KEY=${MOONSHOT_API_KEY}
- KIMI_API_KEY=${KIMI_API_KEY}
- MINIMAX_API_KEY=${MINIMAX_API_KEY}
- ZAI_API_KEY=${ZAI_API_KEY}
- AI_GATEWAY_API_KEY=${AI_GATEWAY_API_KEY}
- OPENCODE_API_KEY=${OPENCODE_API_KEY}
- SYNTHETIC_API_KEY=${SYNTHETIC_API_KEY}
- COPILOT_GITHUB_TOKEN=${COPILOT_GITHUB_TOKEN}
- XIAOMI_API_KEY=${XIAOMI_API_KEY}
- OPENCLAW_PRIMARY_MODEL=${OPENCLAW_PRIMARY_MODEL}
- DEEPGRAM_API_KEY=${DEEPGRAM_API_KEY}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_REGION=${AWS_REGION:-us-east-1}
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
- BEDROCK_PROVIDER_FILTER=${BEDROCK_PROVIDER_FILTER:-anthropic}
- OLLAMA_BASE_URL=${OLLAMA_BASE_URL}
- PORT=8080
- OPENCLAW_GATEWAY_PORT=18789
- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND:-loopback}
- OPENCLAW_STATE_DIR=/data/.openclaw
- OPENCLAW_WORKSPACE_DIR=/data/workspace
- BROWSER_CDP_URL=http://browser:9223
- BROWSER_DEFAULT_PROFILE=${BROWSER_DEFAULT_PROFILE:-openclaw}
- BROWSER_EVALUATE_ENABLED=${BROWSER_EVALUATE_ENABLED:-true}
- BROWSER_SNAPSHOT_MODE=${BROWSER_SNAPSHOT_MODE:-efficient}
- BROWSER_REMOTE_TIMEOUT_MS=${BROWSER_REMOTE_TIMEOUT_MS:-1500}
- BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS=${BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS:-3000}
- HOOKS_ENABLED=${HOOKS_ENABLED:-false}
- HOOKS_PATH=${HOOKS_PATH:-/hooks}
- MOONSHOT_BASE_URL=${MOONSHOT_BASE_URL:-https://api.moonshot.ai/v1}
- KIMI_BASE_URL=${KIMI_BASE_URL:-https://api.moonshot.ai/anthropic}
- TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN
- DISCORD_BOT_TOKEN=$DISCORD_BOT_TOKEN
- SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN
- SLACK_APP_TOKEN=$SLACK_APP_TOKEN
- WHATSAPP_ENABLED=$WHATSAPP_ENABLED
- OPENCLAW_DOCKER_APT_PACKAGES=$OPENCLAW_DOCKER_APT_PACKAGES
volumes:
- "openclaw-data:/data"
depends_on:
browser:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-sf", "http://127.0.0.1:8080/healthz"]
interval: 10s
timeout: 10s
retries: 5
browser:
image: "coollabsio/openclaw-browser:latest"
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- CHROME_CLI=--remote-debugging-port=9222
volumes:
- "browser-data:/config"
shm_size: 2g
healthcheck:
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/9222' || exit 1"]
interval: 5s
timeout: 5s
retries: 10
volumes:
openclaw-data:
browser-data:

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 16 16" role="img" aria-label="Pixel lobster">
<rect width="16" height="16" fill="none"/>
<!-- outline -->
<g fill="#3a0a0d">
<rect x="1" y="5" width="1" height="3"/>
<rect x="2" y="4" width="1" height="1"/>
@@ -24,7 +25,7 @@
<rect x="5" y="14" width="6" height="1"/>
</g>
<!-- body -->
<g fill="#ff4f40">
<rect x="5" y="3" width="6" height="1"/>
<rect x="4" y="4" width="8" height="1"/>
@@ -37,7 +38,7 @@
<rect x="6" y="13" width="4" height="1"/>
</g>
<!-- claws -->
<g fill="#ff775f">
<rect x="1" y="6" width="2" height="1"/>
<rect x="2" y="5" width="1" height="1"/>
@@ -47,7 +48,7 @@
<rect x="13" y="7" width="1" height="1"/>
</g>
<!-- eyes -->
<g fill="#081016">
<rect x="6" y="5" width="1" height="1"/>
<rect x="9" y="5" width="1" height="1"/>
@@ -56,5 +57,4 @@
<rect x="6" y="4" width="1" height="1"/>
<rect x="9" y="4" width="1" height="1"/>
</g>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,21 @@
[variables]
gateway_token = "${password:32}"
auth_username = "dokploy"
auth_password = "${password:32}"
[config]
[[config.domains]]
serviceName = "openclaw"
port = 8080
host = "${domain}"
[config.env]
OPENCLAW_GATEWAY_TOKEN = "${gateway_token}"
OPENCLAW_GATEWAY_PORT = 18789
AUTH_USERNAME="${auth_username}"
AUTH_PASSWORD="${auth_password}"
OPENCLAW_BRIDGE_PORT = 18790
OPENCLAW_GATEWAY_BIND="lan"
OPENCLAW_PLUGINS="discord,memory-core"
# Get here https://openrouter.ai/
OPENROUTER_API_KEY="YOUR-API-KEY"

View File

@@ -4026,27 +4026,6 @@
"scheduling"
]
},
{
"id": "moltbot",
"name": "Moltbot",
"version": "2026.1.25",
"description": "WhatsApp gateway CLI with Pi RPC agent - self-hosted AI-powered messaging platform",
"logo": "moltbot.svg",
"links": {
"github": "https://github.com/moltbot/moltbot",
"website": "https://molt.bot",
"docs": "https://docs.molt.bot"
},
"tags": [
"whatsapp",
"ai",
"messaging",
"chatbot",
"gateway",
"self-hosted",
"automation"
]
},
{
"id": "morphos",
"name": "Morphos",
@@ -4541,6 +4520,27 @@
"surrealdb"
]
},
{
"id": "openclaw",
"name": "Openclaw",
"version": "2026.1.29",
"description": "WhatsApp gateway CLI with Pi RPC agent - self-hosted AI-powered messaging platform",
"logo": "openclaw.svg",
"links": {
"github": "https://github.com/openclaw/openclaw",
"website": "https://openclaw.ai/",
"docs": "https://docs.openclaw.ai/"
},
"tags": [
"whatsapp",
"ai",
"messaging",
"chatbot",
"gateway",
"self-hosted",
"automation"
]
},
{
"id": "opengist",
"name": "OpenGist",