Hosting

Oracle Cloud

Execute um Gateway OpenClaw persistente na camada ARM Always Free da Oracle Cloud (até 4 OCPU, 24 GB de RAM, 200 GB de armazenamento) sem custo.

Pré-requisitos

Configuração

  • Criar uma instância OCI

    1. Entre no Oracle Cloud Console.
    2. Navegue até Compute > Instances > Create Instance.
    3. Configure:
      • Nome: openclaw
      • Imagem: Ubuntu 24.04 (aarch64)
      • Forma: VM.Standard.A1.Flex (Ampere ARM)
      • OCPUs: 2 (ou até 4)
      • Memória: 12 GB (ou até 24 GB)
      • Volume de inicialização: 50 GB (até 200 GB gratuitos)
      • Chave SSH: Adicione sua chave pública
    4. Clique em Create e anote o endereço IP público.
  • Conectar e atualizar o sistema

    ssh ubuntu@YOUR_PUBLIC_IP
    
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y build-essential
    

    build-essential é necessário para a compilação ARM de algumas dependências.

  • Configurar usuário e nome do host

    sudo hostnamectl set-hostname openclaw
    sudo passwd ubuntu
    sudo loginctl enable-linger ubuntu
    

    Habilitar o linger mantém os serviços do usuário em execução após o logout.

  • Instalar o Tailscale

    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up --ssh --hostname=openclaw
    

    A partir de agora, conecte-se via Tailscale: ssh ubuntu@openclaw.

  • Instalar o OpenClaw

    curl -fsSL https://openclaw.ai/install.sh | bash
    source ~/.bashrc
    

    Quando solicitado "How do you want to hatch your bot?", selecione Do this later.

  • Configurar o Gateway

    Use autenticação por token com Tailscale Serve para acesso remoto seguro.

    openclaw config set gateway.bind loopback
    openclaw config set gateway.auth.mode token
    openclaw doctor --generate-gateway-token
    openclaw config set gateway.tailscale.mode serve
    openclaw config set gateway.trustedProxies '["127.0.0.1"]'
    
    systemctl --user restart openclaw-gateway.service
    

    gateway.trustedProxies=["127.0.0.1"] aqui é apenas para o tratamento de IP encaminhado/cliente local do proxy local Tailscale Serve. Ele não é gateway.auth.mode: "trusted-proxy". As rotas do visualizador de diff mantêm comportamento fail-closed nesta configuração: solicitações brutas do visualizador para 127.0.0.1 sem cabeçalhos de proxy encaminhado podem retornar Diff not found. Use mode=file / mode=both para anexos, ou habilite intencionalmente visualizadores remotos e defina plugins.entries.diffs.config.viewerBaseUrl (ou passe um baseUrl de proxy) se precisar de links de visualizador compartilháveis.

  • Restringir a segurança da VCN

    Bloqueie todo o tráfego, exceto Tailscale, na borda da rede:

    1. Vá para Networking > Virtual Cloud Networks no Console OCI.
    2. Clique na sua VCN e depois em Security Lists > Default Security List.
    3. Remova todas as regras de entrada, exceto 0.0.0.0/0 UDP 41641 (Tailscale).
    4. Mantenha as regras de saída padrão (permitir todo o tráfego de saída).

    Isso bloqueia SSH na porta 22, HTTP, HTTPS e todo o restante na borda da rede. A partir deste ponto, você só pode se conectar via Tailscale.

  • Verificar

    openclaw --version
    systemctl --user status openclaw-gateway.service
    tailscale serve status
    curl http://localhost:18789
    

    Acesse a Control UI de qualquer dispositivo na sua tailnet:

    https://openclaw.<tailnet-name>.ts.net/
    

    Substitua <tailnet-name> pelo nome da sua tailnet (visível em tailscale status).

  • Verificar a postura de segurança

    Com a VCN restrita (apenas UDP 41641 aberto) e o Gateway vinculado ao loopback, o tráfego público é bloqueado na borda da rede e o acesso administrativo fica limitado à tailnet. Isso elimina a necessidade de várias etapas tradicionais de proteção de VPS:

    Etapa tradicional Necessário? Por quê
    Firewall UFW Não A VCN bloqueia o tráfego antes que ele chegue à instância.
    fail2ban Não A porta 22 é bloqueada na VCN; não há superfície de força bruta.
    Proteção do sshd Não O SSH do Tailscale não usa sshd.
    Desabilitar login root Não O Tailscale autentica pela identidade da tailnet, não por usuários do sistema.
    Autenticação só por chave SSH Não O mesmo — a identidade da tailnet substitui as chaves SSH do sistema.
    Proteção IPv6 Geralmente não Depende das configurações da VCN/sub-rede; verifique o que está realmente atribuído/exposto.

    Ainda recomendado:

    • chmod 700 ~/.openclaw para restringir permissões de arquivos de credenciais.
    • openclaw security audit para uma verificação de postura específica do OpenClaw.
    • sudo apt update && sudo apt upgrade regularmente para patches do sistema operacional.
    • Revisar periodicamente os dispositivos no console de administração do Tailscale.

    Comandos rápidos de verificação:

    # Confirm no public ports are listening
    sudo ss -tlnp | grep -v '127.0.0.1\|::1'
    
    # Verify Tailscale SSH is active
    tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
    
    # Optional: disable sshd entirely once Tailscale SSH is confirmed working
    sudo systemctl disable --now ssh
    

    Notas sobre ARM

    A camada Always Free é ARM (aarch64). A maioria dos recursos do OpenClaw funciona bem; um pequeno número de binários nativos precisa de builds ARM:

    • Node.js, Telegram, WhatsApp (Baileys): JavaScript puro, sem problemas.
    • A maioria dos pacotes npm com código nativo: artefatos pré-compilados linux-arm64 disponíveis.
    • Auxiliares opcionais de CLI (por exemplo, binários Go/Rust enviados por Skills): verifique se há uma release aarch64 / linux-arm64 antes de instalar.

    Verifique a arquitetura com uname -m (deve imprimir aarch64). Para binários sem build ARM, instale a partir do código-fonte ou ignore-os.

    Persistência e backups

    O estado do OpenClaw fica em:

    • ~/.openclaw/openclaw.json, auth-profiles.json por agente, estado de canal/provedor e dados de sessão.
    • ~/.openclaw/workspace/ — o workspace do agente (SOUL.md, memória, artefatos).

    Eles sobrevivem a reinicializações. Para criar um snapshot portátil:

    openclaw backup create
    

    Alternativa: túnel SSH

    Se o Tailscale Serve não estiver funcionando, use um túnel SSH a partir da sua máquina local:

    ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw
    

    Então abra http://localhost:18789.

    Solução de problemas

    A criação da instância falha ("Out of capacity") -- Instâncias ARM da camada gratuita são populares. Tente outro domínio de disponibilidade ou tente novamente fora dos horários de pico.

    O Tailscale não conecta -- Execute sudo tailscale up --ssh --hostname=openclaw --reset para autenticar novamente.

    O Gateway não inicia -- Execute openclaw doctor --non-interactive e verifique os logs com journalctl --user -u openclaw-gateway.service -n 50.

    Problemas com binários ARM -- A maioria dos pacotes npm funciona em ARM64. Para binários nativos, procure releases linux-arm64 ou aarch64. Verifique a arquitetura com uname -m.

    Próximos passos

    Relacionado