Skip to main content

OpenClaw on GCP Compute Engine (Docker, Production VPS Guide)

Goal

Run a persistent OpenClaw Gateway on a GCP Compute Engine VM using Docker, with durable state, baked-in binaries, and safe restart behavior. If you want “OpenClaw 24/7 for ~$5-12/mo”, this is a reliable setup on Google Cloud. Pricing varies by machine type and region; pick the smallest VM that fits your workload and scale up if you hit OOMs.

What are we doing (simple terms)?

  • Create a GCP project and enable billing
  • Create a Compute Engine VM
  • Install Docker (isolated app runtime)
  • Start the OpenClaw Gateway in Docker
  • Persist ~/.openclaw + ~/.openclaw/workspace on the host (survives restarts/rebuilds)
  • Access the Control UI from your laptop via an SSH tunnel
The Gateway can be accessed via:
  • SSH port forwarding from your laptop
  • Direct port exposure if you manage firewalling and tokens yourself
This guide uses Debian on GCP Compute Engine. Ubuntu also works; map packages accordingly. For the generic Docker flow, see Docker.

Quick path (experienced operators)

  1. Create GCP project + enable Compute Engine API
  2. Create Compute Engine VM (e2-small, Debian 12, 20GB)
  3. SSH into the VM
  4. Install Docker
  5. Clone OpenClaw repository
  6. Create persistent host directories
  7. Configure .env and docker-compose.yml
  8. Bake required binaries, build, and launch

What you need

  • GCP account (free tier eligible for e2-micro)
  • gcloud CLI installed (or use Cloud Console)
  • SSH access from your laptop
  • Basic comfort with SSH + copy/paste
  • ~20-30 minutes
  • Docker and Docker Compose
  • Model autentifikatsiya ma’lumotlari
  • Optional provider credentials
    • WhatsApp QR
    • Telegram bot token
    • Gmail OAuth

1. Install gcloud CLI (or use Console)

Option A: gcloud CLI (recommended for automation) Install from https://cloud.google.com/sdk/docs/install Initialize and authenticate:
Option B: Cloud Console All steps can be done via the web UI at https://console.cloud.google.com

2. Create a GCP project

CLI:
Enable billing at https://console.cloud.google.com/billing (required for Compute Engine). Enable the Compute Engine API:
Console:
  1. Go to IAM & Admin > Create Project
  2. Name it and create
  3. Enable billing for the project
  4. Navigate to APIs & Services > Enable APIs > search “Compute Engine API” > Enable

3. Create the VM

Machine types: CLI:
Console:
  1. Compute Engine > VM instances > Create instance bo‘limiga o‘ting
  2. Nomi: openclaw-gateway
  3. Mintaqa: us-central1, Zona: us-central1-a
  4. Mashina turi: e2-small
  5. Yuklash diski: Debian 12, 20GB
  6. Yaratish

4. VM ga SSH orqali kiring

CLI:
Console: Compute Engine boshqaruv panelida VM yonidagi “SSH” tugmasini bosing. Eslatma: VM yaratilgandan so‘ng SSH kalitlari tarqalishi 1–2 daqiqa vaqt olishi mumkin. Agar ulanish rad etilsa, kuting va qayta urinib ko‘ring.

5. Docker’ni o‘rnating (VM’da)

Guruh o‘zgarishi kuchga kirishi uchun tizimdan chiqib qayta kiring:
So‘ng yana SSH orqali kiring:
Tekshirish:

6. OpenClaw repozitoriyasini klonlash

Ushbu qo‘llanma binarlarning saqlanib qolishini kafolatlash uchun maxsus image qurishingizni nazarda tutadi.

7. Doimiy host kataloglarini yarating

Docker konteynerlari vaqtinchalik (ephemeral). Uzoq muddatli barcha holat host’da saqlanishi kerak.

8. Muhit o‘zgaruvchilarini sozlash

Repozitoriya ildizida .env yarating.
Kuchli maxfiy kalitlar yarating:
Ushbu faylni commit qilmang.

9. Docker Compose konfiguratsiyasi

docker-compose.yml ni yarating yoki yangilang.

10. Kerakli binarlarni imijga qoʻshib pishiring (muhim)

Ishlayotgan konteyner ichiga binarlarni oʻrnatish — bu tuzoq. Ishga tushirish vaqtida oʻrnatilgan har qanday narsa qayta ishga tushirilganda yoʻqoladi. Skill’lar talab qiladigan barcha tashqi binarlar imijni qurish vaqtida oʻrnatilishi shart. Quyidagi misollar faqat uchta keng tarqalgan binarni koʻrsatadi:
  • gog — Gmail’ga kirish uchun
  • goplaces — Google Places uchun
  • wacli — WhatsApp uchun
Bular misollar, toʻliq roʻyxat emas. Xuddi shu andoza yordamida istalgancha binarlarni oʻrnatishingiz mumkin. Agar keyinroq qoʻshimcha binarlarga bogʻliq yangi skill’lar qoʻshsangiz, quyidagilarni bajarishingiz kerak:
  1. Dockerfile’ni yangilang
  2. Imijni qayta yarating
  3. Konteynerlarni qayta ishga tushiring
Misol Dockerfile

11. Qurish va ishga tushirish

Binarlarni tekshiring:
Kutilgan chiqish:

12. Gateway’ni tekshirish

Muvaffaqiyat:

13. Noutbukingizdan kirish

Gateway portini yoʻnaltirish uchun SSH tunnel yarating:
Brauzeringizda oching: http://127.0.0.1:18789/ Gateway tokeningizni joylashtiring.

Nima qayerda saqlanadi (asosiy manba)

OpenClaw Docker’da ishlaydi, ammo Docker asosiy manba emas. Barcha uzoq muddatli holat qayta ishga tushirishlar, qayta qurishlar va qayta yuklashlardan omon qolishi kerak.

Yangilanishlar

VM’da OpenClaw’ni yangilash uchun:

Nosozliklarni bartaraf etish

SSH ulanishi rad etildi VM yaratilgandan so‘ng SSH kalitlari tarqalishi 1–2 daqiqa vaqt olishi mumkin. Kuting va qayta urinib ko‘ring. OS Login muammolari OS Login profilingizni tekshiring:
Hisobingizda zarur IAM ruxsatlari (Compute OS Login yoki Compute OS Admin Login) mavjudligiga ishonch hosil qiling. Xotira yetishmasligi (OOM) Agar e2-micro’dan foydalanib OOM muammosiga duch kelsangiz, e2-small yoki e2-medium’ga yangilang:

Xizmat hisoblari (xavfsizlik bo‘yicha eng yaxshi amaliyot)

Shaxsiy foydalanish uchun standart foydalanuvchi hisobingiz yetarli. Avtomatlashtirish yoki CI/CD quvurlari uchun minimal ruxsatlarga ega alohida xizmat hisobini yarating:
  1. Xizmat hisobini yarating:
  2. Compute Instance Admin rolini (yoki torroq maxsus rolni) bering:
Avtomatlashtirish uchun Owner rolidan foydalanishdan saqlaning. Eng kam imtiyozlar tamoyilidan foydalaning. IAM rollari tafsilotlari uchun https://cloud.google.com/iam/docs/understanding-roles sahifasiga qarang.

Keyingi qadamlar