Como Rodar OpenClaw com Docker: Guia Completo para Iniciantes
Como Rodar OpenClaw com Docker: Guia Completo
Docker é a forma mais segura e limpa de rodar o OpenClaw. Neste tutorial, você vai aprender a configurar tudo do zero, mesmo sem experiência prévia com containers.
Por Que Usar Docker?
Vantagens:
- Isolamento: O OpenClaw roda separado do seu sistema
- 🧹 Limpeza: Fácil de remover sem deixar rastros
- 🔄 Reprodutibilidade: Mesma configuração em qualquer máquina
- 🛡 Segurança: Controle granular de permissões
Pré-requisitos
Antes de começar, você precisa:
- Docker instalado - Guia oficial
- Chave de API de um provedor de IA (Anthropic, OpenAI, etc.)
- Terminal básico (funciona em Linux, macOS e Windows com WSL)
Verificando a Instalação do Docker
docker --version
# Docker version 24.0.x ou superior
Instalação Rápida (5 minutos)
1. Crie a Estrutura de Diretórios
mkdir -p ~/openclaw/{config,workspace,memory}
cd ~/openclaw
2. Crie o Arquivo de Configuração
cat > config/config.yaml << 'EOF'
model: anthropic/claude-sonnet-4-20250514
anthropic:
apiKey: ${ANTHROPIC_API_KEY}
# Ou para OpenAI:
# openai:
# apiKey: ${OPENAI_API_KEY}
workspace:
path: /workspace
memory:
enabled: true
path: /memory
EOF
3. Rode o Container
docker run -d \
--name openclaw \
-e ANTHROPIC_API_KEY="sua-chave-aqui" \
-v ~/openclaw/config:/root/.config/openclaw \
-v ~/openclaw/workspace:/workspace \
-v ~/openclaw/memory:/memory \
--restart unless-stopped \
ghcr.io/openclaw/openclaw:latest \
gateway start
Pronto! Seu OpenClaw está rodando.
Verificando se Está Funcionando
# Ver logs
docker logs openclaw
# Status do container
docker ps | grep openclaw
# Testar interação
docker exec -it openclaw openclaw chat "Olá, tudo bem?"
Configuração Avançada (Segurança Extra)
Para ambientes de produção ou se você quer máxima segurança:
Docker Compose com Hardening
Crie docker-compose.yml:
version: '3.8'
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw
# Segurança
user: "1000:1000"
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
# Limites de recursos
deploy:
resources:
limits:
cpus: '2'
memory: 2G
reservations:
cpus: '0.5'
memory: 512M
# Volumes
volumes:
- ./config:/root/.config/openclaw:ro
- ./workspace:/workspace
- ./memory:/memory
- /tmp # Necessário para algumas operações
# Variáveis de ambiente
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
# Rede isolada
networks:
- openclaw-net
# Reinício automático
restart: unless-stopped
command: gateway start
networks:
openclaw-net:
driver: bridge
Rodando com Docker Compose
# Criar arquivo .env com sua chave
echo "ANTHROPIC_API_KEY=sua-chave-aqui" > .env
# Iniciar
docker-compose up -d
# Ver logs
docker-compose logs -f
# Parar
docker-compose down
Conectando Canais de Mensagem
docker exec -it openclaw openclaw channel add whatsapp
# Escaneie o QR code que aparecer
Telegram
- Crie um bot com @BotFather
- Copie o token
- Configure:
docker exec -it openclaw openclaw channel add telegram --token "SEU_TOKEN"
Atualizando o OpenClaw
# Parar container atual
docker stop openclaw
docker rm openclaw
# Baixar nova versão
docker pull ghcr.io/openclaw/openclaw:latest
# Rodar novamente (mesmo comando de antes)
docker run -d \
--name openclaw \
-e ANTHROPIC_API_KEY="sua-chave-aqui" \
-v ~/openclaw/config:/root/.config/openclaw \
-v ~/openclaw/workspace:/workspace \
-v ~/openclaw/memory:/memory \
--restart unless-stopped \
ghcr.io/openclaw/openclaw:latest \
gateway start
Troubleshooting
Container não inicia
# Ver logs detalhados
docker logs openclaw --tail 50
# Verificar configuração
docker exec openclaw cat /root/.config/openclaw/config.yaml
Erro de permissão
# Ajustar permissões dos volumes
sudo chown -R 1000:1000 ~/openclaw/
WhatsApp desconecta frequentemente
Adicione persistência da sessão:
-v ~/openclaw/whatsapp-session:/root/.local/share/openclaw/whatsapp
Alto uso de memória
Limite no Docker:
docker run --memory="1g" --memory-swap="2g" ...
Backup e Restauração
Backup
# Parar para garantir consistência
docker stop openclaw
# Backup
tar -czvf openclaw-backup-$(date +%Y%m%d).tar.gz ~/openclaw/
# Reiniciar
docker start openclaw
Restauração
# Parar e remover
docker stop openclaw
docker rm openclaw
# Restaurar
tar -xzvf openclaw-backup-YYYYMMDD.tar.gz -C ~/
# Iniciar novamente
# (mesmo comando docker run de antes)
Dicas de Produção
- Use secrets do Docker em vez de variáveis de ambiente para as chaves de API
- Configure logs rotativos para evitar disco cheio
- Monitore recursos com
docker stats openclaw - Faça backups automáticos com cron
Exemplo de Cron para Backup Diário
# Adicionar ao crontab (crontab -e)
0 3 * * * docker stop openclaw && tar -czvf /backup/openclaw-$(date +\%Y\%m\%d).tar.gz ~/openclaw/ && docker start openclaw
Próximos Passos
Agora que seu OpenClaw está rodando com Docker:
- Personalize a personalidade do seu assistente
- Crie suas próprias skills
- Configure automações com cron
- Integre com Home Assistant
Precisa de ajuda? Entre no Discord da comunidade ou abra uma issue no GitHub.