O Clawdbot Docker é um assistente de IA completo que roda em container Docker, integrando múltiplos modelos de linguagem (Claude, Gemini, GPT/Codex) através do CLIProxyAPI.
Stack:
- 🐳 Docker - Container isolado com ambiente completo
- 🔌 CLIProxyAPI - Proxy OAuth para Claude Code, Gemini, Codex
- 🏛️ Clawdbot Gateway - Interface web e gerenciamento de conversas
- 🔄 Watchdog Interno - Processamento automático de restarts e ops
- Docker Desktop (Windows/Mac) ou Docker Engine (Linux)
- Git para clonar o repositório
- Contas nos provedores de IA que deseja usar (Claude, Gemini, OpenAI)
git clone <url-do-repositorio>
cd clawdbot_dockerCopie o arquivo de exemplo:
# Windows
copy .env.example .env
# Linux/Mac
cp .env.example .envEdite o .env e configure:
CLAWDBOT_GATEWAY_TOKEN=seu-token-aqui
CLAWDBOT_TELEGRAM_TOKEN=seu-token-telegram # OpcionalPara usar Claude, Gemini ou Codex, você precisa fazer login uma única vez no Windows:
Claude Code:
irm https://claude.ai/install.ps1 | iex
claude auth loginGemini:
npm install -g @google/gemini-cli
gemini auth loginOpenAI/Codex:
npm install -g openai
openai loginOs tokens serão salvos automaticamente em ~/.cli-proxy-api/ e sincronizados com o Docker via volumes.
# Build da imagem (primeira vez ou após mudanças)
docker compose build
# Iniciar o container
docker compose up -dAbra no navegador:
http://localhost:18789
cd clawdbot_docker
docker compose up -ddocker compose downdocker logs clawdbot_sandbox -fdocker compose restartO setup atual suporta:
Claude (via CLIProxyAPI OAuth):
cliproxy/claude-sonnet-4-5-20250929(padrão)cliproxy/claude-opus-4-5-20251101cliproxy/claude-haiku-4-5-20251001
Gemini (via CLIProxyAPI OAuth):
cliproxy/gemini-3-flash-previewcliproxy/gemini-3-pro-previewcliproxy/gemini-2.5-pro
OpenAI/Codex (via CLIProxyAPI OAuth):
cliproxy/gpt-5.2cliproxy/gpt-5.1cliproxy/gpt-5-codex
- Crie um bot no @BotFather
- Adicione o token no
.env:CLAWDBOT_TELEGRAM_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
- Reinicie o container:
docker compose restart
O restart já está habilitado por padrão. O bot pode reiniciar sozinho quando solicitado via interface ou skills.
Causa: Arquivos de sessão travados (lock files)
Solução:
docker exec clawdbot_sandbox sh -c "rm -f /root/.clawdbot/agents/main/sessions/*.lock"
docker compose restartCausa: Tokens OAuth expirados
Solução:
- Faça login novamente no Windows (veja seção "Autentique os CLIs OAuth")
- Reinicie o container:
docker compose restart
Causa: Tokens não foram copiados para a pasta correta
Solução:
# Verificar se tokens existem no Windows
ls C:\Users\seu-usuario\.cli-proxy-api\
# Copiar manualmente se necessário
cp C:\Users\seu-usuario\.cli-proxy-api\*.json ./data/cli-proxy-api/
docker compose restartCausa: Problema temporário do Docker Desktop no Windows
Solução:
- Reinicie o computador
- Teste se Docker funciona:
docker run --rm hello-world - Suba o container:
docker compose up -d
clawdbot_docker/
├── docker-compose.yml # Configuração do container
├── Dockerfile # Imagem Docker personalizada
├── entrypoint.sh # Script de inicialização
├── watchdog.sh # Watchdog interno para ops-requests
├── .env # Variáveis de ambiente (não versionado)
├── .env.example # Template de variáveis
├── CLIProxyAPI/ # Configuração do proxy
│ └── config.yaml # Config do CLIProxyAPI
└── data/ # Dados persistentes (não versionados)
├── clawdbot/ # Configuração do Clawdbot
│ └── clawdbot.json # Config principal do gateway
├── cli-proxy-api/ # Tokens OAuth sincronizados
│ ├── claude-*.json # Tokens do Claude
│ ├── gemini-*.json # Tokens do Gemini
│ └── codex-*.json # Tokens do Codex
├── gemini/ # Credenciais extras do Gemini
└── workspace/ # Workspace do bot
├── boot.md # Instruções de sistema
├── skills/ # Skills personalizadas
└── ops-requests/ # Fila de operações (restart, etc.)
data/- Todos os dados sensíveis.env- Variáveis de ambiente com tokens
Altere o token padrão em .env se for expor publicamente:
# Gerar token seguro (Windows PowerShell)
-join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Maximum 256) })- 18789 - Clawdbot Gateway (interface web)
- 8317 - CLIProxyAPI (proxy OAuth interno)
O container possui um watchdog interno que:
- ✅ Processa requisições em
ops-requests/(restart, set_model, set_timezone) - ✅ Monitora arquivo
restart.flagpara restarts automáticos - ✅ Move requisições processadas para
ops-requests/done/ouops-requests/error/
Ver logs:
docker logs clawdbot_sandbox --tail 50Ver logs do watchdog:
docker exec clawdbot_sandbox cat /tmp/watchdog.logVer logs do CLIProxyAPI:
docker exec clawdbot_sandbox cat /tmp/cliproxy.log- Clawdbot: https://clawd.bot
- CLIProxyAPI: https://github.com/router-for-me/CLIProxyAPI
- Claude Code: https://claude.ai
- Gemini CLI: https://geminicli.com
Desenvolvido com ❤️ para automação inteligente