OpenClaw na Hetzner (Docker, Guia de Produção em VPS)
Objetivo
Executar um OpenClaw Gateway persistente em um VPS da Hetzner usando Docker, com estado durável, binários incorporados e comportamento seguro de reinício. Se você quer “OpenClaw 24/7 por ~US$5”, esta é a configuração confiável mais simples. Os preços da Hetzner mudam; escolha o menor VPS Debian/Ubuntu e aumente se encontrar OOMs.O que estamos fazendo (em termos simples)?
- Alugar um pequeno servidor Linux (VPS da Hetzner)
- Instalar Docker (runtime de aplicativo isolado)
- Iniciar o OpenClaw Gateway no Docker
- Persistir
~/.openclaw+~/.openclaw/workspaceno host (sobrevive a reinícios/reconstruções) - Acessar a UI de Controle a partir do seu laptop via um túnel SSH
- Encaminhamento de porta SSH a partir do seu laptop
- Exposição direta de porta se você gerenciar firewall e tokens por conta própria
Se você estiver em outro VPS Linux, mapeie os pacotes de acordo. Para o fluxo genérico de Docker, veja Docker.
Caminho rápido (operadores experientes)
- Provisionar VPS da Hetzner
- Instalar Docker
- Clonar o repositório OpenClaw
- Criar diretórios persistentes no host
- Configurar
.envedocker-compose.yml - Incorporar os binários necessários na imagem
docker compose up -d- Verificar persistência e acesso ao Gateway
O que você precisa
- VPS da Hetzner com acesso root
- Acesso SSH a partir do seu laptop
- Conforto básico com SSH + copiar/colar
- ~20 minutos
- Docker e Docker Compose
- Credenciais de autenticação do modelo
- Credenciais opcionais de provedores
- QR do WhatsApp
- Token de bot do Telegram
- OAuth do Gmail
1. Provisionar o VPS
Crie um VPS Ubuntu ou Debian na Hetzner. Conecte-se como root:2. Instalar Docker (no VPS)
3. Clonar o repositório OpenClaw
4. Criar diretórios persistentes no host
Contêineres Docker são efêmeros. Todo estado de longa duração deve viver no host.5. Configurar variáveis de ambiente
Crie.env na raiz do repositório.
6. Configuração do Docker Compose
Crie ou atualizedocker-compose.yml.
--allow-unconfigured é apenas para conveniência de bootstrap; não substitui uma configuração adequada do gateway. Ainda configure a autenticação (gateway.auth.token ou senha) e use configurações de bind seguras para sua implantação.
7. Incorporar os binários necessários na imagem (crítico)
Instalar binários dentro de um contêiner em execução é uma armadilha. Qualquer coisa instalada em tempo de execução será perdida no reinício. Todos os binários externos exigidos por Skills devem ser instalados no momento da construção da imagem. Os exemplos abaixo mostram apenas três binários comuns:gogpara acesso ao Gmailgoplacespara Google Placeswaclipara WhatsApp
- Atualizar o Dockerfile
- Reconstruir a imagem
- Reiniciar os contêineres
8. Construir e iniciar
9. Verificar o Gateway
http://127.0.0.1:18789/
Cole o token do seu gateway.
O que persiste onde (fonte da verdade)
O OpenClaw roda em Docker, mas o Docker não é a fonte da verdade. Todo estado de longa duração deve sobreviver a reinícios, reconstruções e reboots.| Componente | Localização | Mecanismo de persistência | Notas |
|---|---|---|---|
| Configuração do Gateway | /home/node/.openclaw/ | Montagem de volume do host | Inclui openclaw.json, tokens |
| Perfis de autenticação do modelo | /home/node/.openclaw/ | Montagem de volume do host | Tokens OAuth, chaves de API |
| Configurações de Skills | /home/node/.openclaw/skills/ | Montagem de volume do host | Estado no nível da Skill |
| Workspace do agente | /home/node/.openclaw/workspace/ | Montagem de volume do host | Código e artefatos do agente |
| Sessão do WhatsApp | /home/node/.openclaw/ | Montagem de volume do host | Preserva o login por QR |
| Keyring do Gmail | /home/node/.openclaw/ | Volume do host + senha | Requer GOG_KEYRING_PASSWORD |
| Binários externos | /usr/local/bin/ | Imagem Docker | Deve ser assado no tempo de construção |
| Runtime do Node | Sistema de arquivos do contêiner | Imagem Docker | Reconstruído a cada build da imagem |
| Pacotes do SO | Sistema de arquivos do contêiner | Imagem Docker | Não instale em tempo de execução |
| Contêiner Docker | Efêmero | Reiniciável | Seguro para destruir |
Infraestrutura como Código (Terraform)
Para equipes que preferem fluxos de trabalho de infraestrutura como código, uma configuração Terraform mantida pela comunidade oferece:- Configuração modular do Terraform com gerenciamento de estado remoto
- Provisionamento automatizado via cloud-init
- Scripts de implantação (bootstrap, deploy, backup/restore)
- Endurecimento de segurança (firewall, UFW, acesso somente via SSH)
- Configuração de túnel SSH para acesso ao gateway
- Infraestrutura: openclaw-terraform-hetzner
- Configuração Docker: openclaw-docker-config
Observação: Mantido pela comunidade. Para problemas ou contribuições, consulte os links dos repositórios acima.