OpenClaw na GCP Compute Engine (Docker, przewodnik produkcyjny dla VPS)
Cel
Uruchomić trwały Gateway OpenClaw na maszynie wirtualnej GCP Compute Engine przy użyciu Dockera, z trwałym stanem, wbudowanymi binariami i bezpiecznym zachowaniem po restarcie. Jeśli chcesz „OpenClaw 24/7 za około 5–12 USD/mies.”, to jest niezawodna konfiguracja na Google Cloud. Ceny różnią się zależnie od typu maszyny i regionu; wybierz najmniejszą maszynę wirtualną, która pasuje do Twojego obciążenia, i zwiększ ją, jeśli zaczniesz trafiać na OOM-y.Co robimy (prostymi słowami)?
- Tworzymy projekt GCP i włączamy płatności
- Tworzymy maszynę wirtualną Compute Engine
- Instalujemy Docker (izolowane środowisko uruchomieniowe aplikacji)
- Uruchamiamy Gateway OpenClaw w Dockerze
- Utrwalamy
~/.openclaw+~/.openclaw/workspacena hoście (przetrwa restarty/przebudowy) - Uzyskujemy dostęp do Control UI z laptopa przez tunel SSH
~/.openclaw obejmuje openclaw.json, plik per agent
agents/<agentId>/agent/auth-profiles.json oraz .env.
Dostęp do Gateway można uzyskać przez:
- przekierowanie portów SSH z laptopa
- bezpośrednią ekspozycję portu, jeśli samodzielnie zarządzasz firewallem i tokenami
Szybka ścieżka (dla doświadczonych operatorów)
- Utwórz projekt GCP + włącz Compute Engine API
- Utwórz maszynę wirtualną Compute Engine (e2-small, Debian 12, 20GB)
- Połącz się z maszyną przez SSH
- Zainstaluj Docker
- Sklonuj repozytorium OpenClaw
- Utwórz trwałe katalogi hosta
- Skonfiguruj
.envidocker-compose.yml - Wbuduj wymagane binaria, zbuduj i uruchom
Czego potrzebujesz
- Konto GCP (e2-micro kwalifikuje się do darmowego poziomu)
- Zainstalowany CLI gcloud (albo użyj Cloud Console)
- Dostęp SSH z laptopa
- Podstawowa swoboda pracy z SSH + kopiuj/wklej
- ~20–30 minut
- Docker i Docker Compose
- Dane uwierzytelniające modeli
- Opcjonalne dane uwierzytelniające dostawców
- QR WhatsApp
- token bota Telegram
- OAuth Gmail
Zainstaluj CLI gcloud (albo użyj Console)
Opcja A: CLI gcloud (zalecane do automatyzacji)Zainstaluj z https://cloud.google.com/sdk/docs/installZainicjalizuj i uwierzytelnij:Opcja B: Cloud ConsoleWszystkie kroki można wykonać przez interfejs webowy pod adresem https://console.cloud.google.com
Utwórz projekt GCP
CLI:Włącz płatności na https://console.cloud.google.com/billing (wymagane dla Compute Engine).Włącz Compute Engine API:Console:
- Przejdź do IAM & Admin > Create Project
- Nadaj nazwę i utwórz projekt
- Włącz płatności dla projektu
- Przejdź do APIs & Services > Enable APIs > wyszukaj „Compute Engine API” > Enable
Utwórz maszynę wirtualną
Typy maszyn:
CLI:Console:
| Typ | Parametry | Koszt | Uwagi |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | ~25 USD/mies. | Najbardziej niezawodna do lokalnych buildów Dockera |
| e2-small | 2 vCPU, 2GB RAM | ~12 USD/mies. | Minimalna zalecana do builda Dockera |
| e2-micro | 2 vCPU (współdzielone), 1GB RAM | kwalifikuje się do darmowego poziomu | Często kończy się OOM podczas builda Dockera (exit 137) |
- Przejdź do Compute Engine > VM instances > Create instance
- Nazwa:
openclaw-gateway - Region:
us-central1, Zone:us-central1-a - Typ maszyny:
e2-small - Dysk startowy: Debian 12, 20GB
- Utwórz
Połącz się z maszyną przez SSH
CLI:Console:Kliknij przycisk „SSH” obok swojej maszyny wirtualnej w panelu Compute Engine.Uwaga: propagacja klucza SSH może zająć 1–2 minuty po utworzeniu maszyny wirtualnej. Jeśli połączenie jest odrzucane, poczekaj i spróbuj ponownie.
Zainstaluj Docker (na maszynie wirtualnej)
Sklonuj repozytorium OpenClaw
Utwórz trwałe katalogi hosta
Kontenery Docker są efemeryczne.
Cały długotrwały stan musi znajdować się na hoście.
Skonfiguruj zmienne środowiskowe
Utwórz Wygeneruj silne sekrety:Nie commituj tego pliku.Ten plik
.env w katalogu głównym repozytorium..env służy do środowiska kontenera/runtime, na przykład OPENCLAW_GATEWAY_TOKEN.
Zapisane uwierzytelnianie dostawców OAuth/klucz API znajduje się w zamontowanym
~/.openclaw/agents/<agentId>/agent/auth-profiles.json.Konfiguracja Docker Compose
Utwórz lub zaktualizuj
docker-compose.yml.--allow-unconfigured służy tylko do wygodnego bootstrapu, nie zastępuje poprawnej konfiguracji gateway. Nadal ustaw uwierzytelnianie (gateway.auth.token lub hasło) i używaj bezpiecznych ustawień bind dla swojego wdrożenia.Wspólne kroki środowiska Docker VM
Dla wspólnego przepływu hosta Docker użyj przewodnika środowiska współdzielonego:
Uwagi uruchomieniowe specyficzne dla GCP
Na GCP, jeśli build zakończy się błędem Jeśli zmieniłeś port gateway, zastąp
Killed lub exit code 137 podczas pnpm install --frozen-lockfile, maszyna wirtualna ma za mało pamięci. Użyj co najmniej e2-small, albo e2-medium dla bardziej niezawodnych pierwszych buildów.Przy bindowaniu do LAN (OPENCLAW_GATEWAY_BIND=lan) skonfiguruj zaufane pochodzenie przeglądarki, zanim przejdziesz dalej:18789 skonfigurowanym portem.Dostęp z laptopa
Utwórz tunel SSH do przekierowania portu Gateway:Otwórz w przeglądarce:Jeśli UI prosi o uwierzytelnianie współdzielonym sekretem, wklej skonfigurowany token lub
hasło do ustawień Control UI. Ten przepływ Docker domyślnie zapisuje token;
jeśli zmienisz konfigurację kontenera na uwierzytelnianie hasłem, użyj zamiast tego
tego hasła.Jeśli Control UI pokazuje Potrzebujesz ponownie dokumentacji trwałości i aktualizacji?
Zobacz Docker VM Runtime i aktualizacje Docker VM Runtime.
http://127.0.0.1:18789/Ponownie wypisz czysty link do dashboardu:unauthorized lub disconnected (1008): pairing required, zatwierdź urządzenie przeglądarki:Rozwiązywanie problemów
Połączenie SSH odrzucone Propagacja klucza SSH może zająć 1–2 minuty po utworzeniu maszyny wirtualnej. Poczekaj i spróbuj ponownie. Problemy z OS Login Sprawdź swój profil OS Login:Killed i exit code 137, maszyna wirtualna została ubita przez OOM. Zwiększ do e2-small (minimum) albo e2-medium (zalecane do niezawodnych lokalnych buildów):
Konta usługi (najlepsza praktyka bezpieczeństwa)
Do użytku osobistego Twoje domyślne konto użytkownika w pełni wystarcza. Dla automatyzacji lub pipeline’ów CI/CD utwórz dedykowane konto usługi z minimalnymi uprawnieniami:-
Utwórz konto usługi:
-
Przyznaj rolę Compute Instance Admin (lub węższą rolę niestandardową):
Kolejne kroki
- Skonfiguruj kanały wiadomości: Channels
- Sparuj lokalne urządzenia jako węzły: Nodes
- Skonfiguruj Gateway: Konfiguracja Gateway