Skip to main content

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/workspace no host (sobrevive a reinícios/reconstruções)
  • Acessar a UI de Controle a partir do seu laptop via um túnel SSH
O Gateway pode ser acessado via:
  • Encaminhamento de porta SSH a partir do seu laptop
  • Exposição direta de porta se você gerenciar firewall e tokens por conta própria
Este guia assume Ubuntu ou Debian na Hetzner.
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)

  1. Provisionar VPS da Hetzner
  2. Instalar Docker
  3. Clonar o repositório OpenClaw
  4. Criar diretórios persistentes no host
  5. Configurar .env e docker-compose.yml
  6. Incorporar os binários necessários na imagem
  7. docker compose up -d
  8. 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:
Este guia assume que o VPS é stateful. Não o trate como infraestrutura descartável.

2. Instalar Docker (no VPS)

Verifique:

3. Clonar o repositório OpenClaw

Este guia assume que você irá criar uma imagem personalizada para garantir a persistência dos binários.

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.
Gere segredos fortes:
Não faça commit deste arquivo.

6. Configuração do Docker Compose

Crie ou atualize docker-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:
  • gog para acesso ao Gmail
  • goplaces para Google Places
  • wacli para WhatsApp
Estes são exemplos, não uma lista completa. Você pode instalar quantos binários forem necessários usando o mesmo padrão. Se você adicionar novas Skills posteriormente que dependam de binários adicionais, você deve:
  1. Atualizar o Dockerfile
  2. Reconstruir a imagem
  3. Reiniciar os contêineres
Exemplo de Dockerfile

8. Construir e iniciar

Verifique os binários:
Saída esperada:

9. Verificar o Gateway

Sucesso:
A partir do seu laptop:
Abra: 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.

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
Repositórios: Essa abordagem complementa a configuração Docker acima com implantações reproduzíveis, infraestrutura versionada e recuperação automatizada de desastres.
Observação: Mantido pela comunidade. Para problemas ou contribuições, consulte os links dos repositórios acima.