Guia técnico para execução contínua do Clawdbot Gateway com persistência de dados e reinicialização segura.
Objetivo
Este artigo descreve o procedimento para instalar e executar o Clawdbot Gateway de forma contínua (24/7) em uma cloud instance Linux, utilizando Docker, garantindo persistência de estado e reinicialização segura do serviço.
Público-alvo
Este guia é destinado a usuários que:
- Executam workloads contínuos em cloud instances
- Possuem conhecimento básico de Linux e Docker
- Desejam operar o Clawdbot Gateway de forma persistente
- Precisam evitar perda de sessões e autenticações
Arquitetura da solução
- Uma instância criada na LetsCloud ou em outro provedor de sua preferência
- Docker Engine
- Docker Compose
O container Docker não armazena estado permanente.
Pré-requisitos
- Cloud instance com Ubuntu ou Debian
- Acesso root via SSH
- Docker e Docker Compose
- Credenciais de autenticação dos modelos
- Tokens opcionais (WhatsApp, Telegram, Gmail)
1. Provisionamento da cloud instance
Criar uma cloud instance Linux com Ubuntu ou Debian.
$ssh root@IP_DA_INSTANCE
2. Instalação do Docker
$$$apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
$$docker --version
docker compose version
3. Clonagem do repositório Clawdbot
$$git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
4. Criação de diretórios persistentes no host
$$$$mkdir -p /root/.clawdbot
mkdir -p /root/clawd
chown -R 1000:1000 /root/.clawdbot
chown -R 1000:1000 /root/clawd
5. Configuração de variáveis de ambiente
Criar o arquivo .env:
CLAWDBOT_IMAGE=clawdbot:latest
CLAWDBOT_GATEWAY_TOKEN=change-me-now
CLAWDBOT_GATEWAY_BIND=lan
CLAWDBOT_GATEWAY_PORT=18789
CLAWDBOT_CONFIG_DIR=/root/.clawdbot
CLAWDBOT_WORKSPACE_DIR=/root/clawd
GOG_KEYRING_PASSWORD=change-me-now
XDG_CONFIG_HOME=/home/node/.clawdbot
6. Configuração do Docker Compose
services:
clawdbot-gateway:
image: ${CLAWDBOT_IMAGE}
build: .
restart: unless-stopped
env_file:
- .env
environment:
- HOME=/home/node
- NODE_ENV=production
- TERM=xterm-256color
- CLAWDBOT_GATEWAY_BIND=${CLAWDBOT_GATEWAY_BIND}
- CLAWDBOT_GATEWAY_PORT=${CLAWDBOT_GATEWAY_PORT}
- CLAWDBOT_GATEWAY_TOKEN=${CLAWDBOT_GATEWAY_TOKEN}
- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}
- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}
volumes:
- ${CLAWDBOT_CONFIG_DIR}:/home/node/.clawdbot
- ${CLAWDBOT_WORKSPACE_DIR}:/home/node/clawd
ports:
- "127.0.0.1:${CLAWDBOT_GATEWAY_PORT}:18789"
7. Inclusão de binaries externos no Dockerfile
FROM node:22-bookworm
RUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
RUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
RUN curl -L https://github.com/steipete/goplaces/releases/latest/download/goplaces_Linux_x86_64.tar.gz \
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/goplaces
RUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \
| tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
8. Build e execução
$$docker compose build
docker compose up -d clawdbot-gateway
9. Acesso ao Gateway
$ssh -N -L 18789:127.0.0.1:18789 root@IP_DA_INSTANCE
Acessar:
http://127.0.0.1:18789/
Persistência de dados
| Componente | Local | Persistência |
|---|---|---|
| Configurações | /home/node/.clawdbot |
Volume no host |
| Tokens | /home/node/.clawdbot |
Volume no host |
| Skills | /home/node/.clawdbot/skills |
Volume no host |
| Workspace | /home/node/clawd |
Volume no host |
| Binaries externos | /usr/local/bin |
Imagem Docker |
Considerações finais
Este procedimento permite executar o Clawdbot Gateway em uma cloud instance utilizando Docker, mantendo todo o estado fora do container e garantindo reinicialização segura.



0 COMMENTS