Hosting
GCP
Execute um Gateway persistente do OpenClaw em uma VM do GCP Compute Engine usando Docker, com estado durável, binários incorporados e comportamento seguro de reinicialização.
Os preços variam conforme o tipo de máquina e a região; escolha a menor VM adequada à sua carga de trabalho e aumente sua capacidade se ocorrerem erros de falta de memória (OOM).
O Gateway pode ser acessado pelo seu laptop via encaminhamento de porta SSH ou por exposição direta da porta, caso você mesmo gerencie o firewall e os tokens.
Este guia usa Debian no GCP Compute Engine. O Ubuntu também funciona; adapte os pacotes conforme necessário. Para o fluxo genérico do Docker, consulte Docker.
O que você precisa
- Conta do GCP (
e2-microé elegível para o nível gratuito) - CLI
gcloudou o Cloud Console - Acesso SSH pelo seu laptop
- Docker e Docker Compose
- Credenciais de autenticação do modelo
- Credenciais opcionais de provedores (código QR do WhatsApp, token de bot do Telegram, OAuth do Gmail)
- Cerca de 20 a 30 minutos
Caminho rápido
- Crie um projeto do GCP e ative o faturamento e a API do Compute Engine
- Crie uma VM do Compute Engine (
e2-small, Debian 12, 20 GB) - Acesse a VM via SSH e instale o Docker
- Clone o repositório do OpenClaw
- Crie diretórios persistentes no host
- Configure
.envedocker-compose.yml - Incorpore os binários necessários, compile e inicie
Instalar a CLI gcloud (ou usar o Console)
Instale-a por meio de cloud.google.com/sdk/docs/install e execute:
gcloud initgcloud auth loginComo alternativa, realize todas as etapas abaixo pela interface web do Cloud Console.
Criar um projeto do GCP
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectgcloud services enable compute.googleapis.comAtive o faturamento em console.cloud.google.com/billing (obrigatório para o Compute Engine).
Equivalente no Console: IAM & Admin > Create Project, ative o faturamento e acesse APIs & Services > Enable APIs > "Compute Engine API" > Enable.
Criar a VM
| Tipo | Especificações | Custo | Observações |
|---|---|---|---|
| e2-medium | 2 vCPUs, 4 GB de RAM | Cerca de US$ 25/mês | Mais confiável para compilações locais do Docker |
| e2-small | 2 vCPUs, 2 GB de RAM | Cerca de US$ 12/mês | Mínimo recomendado para uma compilação do Docker |
| e2-micro | 2 vCPUs (compartilhadas), 1 GB de RAM | Elegível para o nível gratuito | Frequentemente falha por OOM na compilação do Docker (saída 137) |
gcloud compute instances create openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small \ --boot-disk-size=20GB \ --image-family=debian-12 \ --image-project=debian-cloudAcessar a VM via SSH
gcloud compute ssh openclaw-gateway --zone=us-central1-aConsole: clique em "SSH" ao lado da VM no painel do Compute Engine.
A propagação da chave SSH pode levar de 1 a 2 minutos após a criação da VM; aguarde e tente novamente se a conexão for recusada.
Instalar o Docker (na VM)
sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USEREncerre a sessão e entre novamente para que a alteração do grupo entre em vigor. Depois, conecte-se novamente via SSH:
exitgcloud compute ssh openclaw-gateway --zone=us-central1-aVerifique:
docker --versiondocker compose versionClonar o repositório do OpenClaw
git clone https://github.com/openclaw/openclaw.gitcd openclawEste guia cria uma imagem personalizada para que todos os binários incorporados a ela persistam após reinicializações.
Criar diretórios persistentes no host
Os contêineres do Docker são efêmeros; todo estado de longa duração deve residir no host.
mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceConfigurar variáveis de ambiente
Crie .env na raiz do repositório:
OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclawDefina OPENCLAW_GATEWAY_TOKEN para gerenciar o token estável do Gateway por meio do
.env; caso contrário, configure gateway.auth.token antes de depender de clientes
entre reinicializações. Se nenhum dos dois estiver definido, o OpenClaw usará somente
nessa inicialização um token gerado em tempo de execução. Gere uma senha para o chaveiro em GOG_KEYRING_PASSWORD:
openssl rand -hex 32Não faça commit desse arquivo. Ele contém variáveis de ambiente do contêiner e da execução, como
OPENCLAW_GATEWAY_TOKEN. A autenticação armazenada de OAuth/chave de API dos provedores fica no
arquivo montado ~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
Configuração do Docker Compose
Crie ou atualize docker-compose.yml:
services: openclaw-gateway: image: ${OPENCLAW_IMAGE} build: . restart: unless-stopped env_file: - .env environment: - HOME=/home/node - NODE_ENV=production - TERM=xterm-256color - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND} - OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT} - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN} - GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD} - XDG_CONFIG_HOME=${XDG_CONFIG_HOME} - PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin volumes: - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace ports: # Recommended: keep the Gateway loopback-only on the VM; access via SSH tunnel. # To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly. - "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789" command: [ "node", "dist/index.js", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND}", "--port", "${OPENCLAW_GATEWAY_PORT}", "--allow-unconfigured", ]--allow-unconfigured serve apenas para facilitar a inicialização, não para substituir uma configuração real do Gateway. Ainda é necessário definir a autenticação (gateway.auth.token ou senha) e um modo de vinculação seguro para sua implantação.
Etapas compartilhadas de execução em VM com Docker
Siga o guia compartilhado de execução para o fluxo comum de host com Docker:
Observações específicas do GCP para a inicialização
Se a compilação falhar com Killed ou exit code 137 durante pnpm install --frozen-lockfile, a VM ficou sem memória. Use no mínimo e2-small ou e2-medium para obter maior confiabilidade nas primeiras compilações.
Ao vincular à LAN (OPENCLAW_GATEWAY_BIND=lan), configure uma origem confiável para o navegador antes de continuar:
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-jsonSubstitua 18789 pela porta configurada caso você a tenha alterado.
Acessar pelo seu laptop
Crie um túnel SSH para encaminhar a porta do Gateway:
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789Abra http://127.0.0.1:18789/ no navegador.
Exiba novamente um link limpo para o painel:
docker compose run --rm openclaw-cli dashboard --no-openSe a interface solicitar autenticação por segredo compartilhado, cole o token ou a senha configurada nas configurações da interface de controle (por padrão, este fluxo do Docker grava um token; caso você tenha alterado para autenticação por senha, use a senha configurada).
Se a interface de controle exibir unauthorized ou disconnected (1008): pairing required, aprove o dispositivo do navegador:
docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve <requestId>Consulte Execução em VM com Docker para ver o mapa compartilhado de persistência e o fluxo de atualização.
Solução de problemas
Conexão SSH recusada
A propagação da chave SSH pode levar de 1 a 2 minutos após a criação da VM. Aguarde e tente novamente.
Problemas com o OS Login
Verifique seu perfil do OS Login:
gcloud compute os-login describe-profileConfirme se sua conta tem as permissões necessárias do IAM (Compute OS Login ou Compute OS Admin Login).
Falta de memória (OOM)
Se a compilação do Docker falhar com Killed e exit code 137, o processo da VM foi encerrado por falta de memória:
# Stop the VM firstgcloud compute instances stop openclaw-gateway --zone=us-central1-a # Change machine typegcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small # Start the VMgcloud compute instances start openclaw-gateway --zone=us-central1-aContas de serviço (prática recomendada de segurança)
Para uso pessoal, sua conta de usuário padrão funciona bem. Para automação ou CI/CD, crie uma conta de serviço dedicada com permissões mínimas:
gcloud iam service-accounts create openclaw-deploy \ --display-name="OpenClaw Deployment" gcloud projects add-iam-policy-binding my-openclaw-project \ --member="serviceAccount:openclaw-deploy@my-openclaw-project.iam.gserviceaccount.com" \ --role="roles/compute.instanceAdmin.v1"Evite a função Owner para automação; use a função mais restrita que atenda às suas necessidades. Consulte Entender as funções.
Próximas etapas
- Configure canais de mensagens: Canais
- Emparelhe dispositivos locais como nós: Nós
- Configure o Gateway: Configuração do Gateway