Hosting
GCP
Docker का उपयोग करके GCP Compute Engine VM पर एक स्थायी OpenClaw Gateway चलाएँ, जिसमें टिकाऊ स्टेट, पहले से शामिल बाइनरी और सुरक्षित रीस्टार्ट व्यवहार हो।
मशीन के प्रकार और क्षेत्र के अनुसार कीमत अलग-अलग होती है; अपने कार्यभार के लिए उपयुक्त सबसे छोटा VM चुनें और OOM होने पर उसका आकार बढ़ाएँ।
Gateway को आपके लैपटॉप से SSH पोर्ट फ़ॉरवर्डिंग के माध्यम से या, यदि आप फ़ायरवॉल और टोकन स्वयं प्रबंधित करते हैं, तो सीधे पोर्ट एक्सपोज़ करके एक्सेस किया जा सकता है।
यह गाइड GCP Compute Engine पर Debian का उपयोग करती है। Ubuntu भी काम करता है; उसके अनुसार पैकेज मैप करें। सामान्य Docker प्रवाह के लिए, Docker देखें।
आपको क्या चाहिए
- GCP खाता (
e2-microनिःशुल्क टियर के लिए पात्र है) gcloudCLI, या Cloud Console- आपके लैपटॉप से SSH एक्सेस
- Docker और Docker Compose
- मॉडल प्रमाणीकरण क्रेडेंशियल
- वैकल्पिक प्रदाता क्रेडेंशियल (WhatsApp QR, Telegram बॉट टोकन, Gmail OAuth)
- ~20-30 मिनट
त्वरित प्रक्रिया
- एक GCP प्रोजेक्ट बनाएँ, बिलिंग और Compute Engine API सक्षम करें
- एक Compute Engine VM बनाएँ (
e2-small, Debian 12, 20GB) - VM में SSH करें, Docker इंस्टॉल करें
- OpenClaw रिपॉज़िटरी क्लोन करें
- स्थायी होस्ट डायरेक्टरी बनाएँ
.envऔरdocker-compose.ymlकॉन्फ़िगर करें- आवश्यक बाइनरी इमेज में शामिल करें, बिल्ड करें और लॉन्च करें
gcloud CLI इंस्टॉल करें (या Console का उपयोग करें)
cloud.google.com/sdk/docs/install से इंस्टॉल करें, फिर:
gcloud initgcloud auth loginया इसके बजाय नीचे दिए गए प्रत्येक चरण को Cloud Console वेब UI के माध्यम से पूरा करें।
एक GCP प्रोजेक्ट बनाएँ
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectgcloud services enable compute.googleapis.comconsole.cloud.google.com/billing पर बिलिंग सक्षम करें (Compute Engine के लिए आवश्यक)।
Console में समकक्ष प्रक्रिया: IAM & Admin > Create Project, बिलिंग सक्षम करें, फिर APIs & Services > Enable APIs > "Compute Engine API" > Enable।
VM बनाएँ
| प्रकार | विनिर्देश | लागत | टिप्पणियाँ |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | ~$25/mo | स्थानीय Docker बिल्ड के लिए सबसे विश्वसनीय |
| e2-small | 2 vCPU, 2GB RAM | ~$12/mo | Docker बिल्ड के लिए अनुशंसित न्यूनतम |
| e2-micro | 2 vCPU (साझा), 1GB RAM | निःशुल्क टियर के लिए पात्र | Docker बिल्ड OOM (exit 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-cloudVM में SSH करें
gcloud compute ssh openclaw-gateway --zone=us-central1-aConsole: Compute Engine डैशबोर्ड में VM के पास "SSH" पर क्लिक करें।
VM बनने के बाद SSH कुंजी के प्रसार में 1-2 मिनट लग सकते हैं; कनेक्शन अस्वीकार होने पर प्रतीक्षा करें और पुनः प्रयास करें।
Docker इंस्टॉल करें (VM पर)
sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USERसमूह परिवर्तन लागू करने के लिए लॉग आउट करके फिर से लॉग इन करें, उसके बाद दोबारा SSH करें:
exitgcloud compute ssh openclaw-gateway --zone=us-central1-aसत्यापित करें:
docker --versiondocker compose versionOpenClaw रिपॉज़िटरी क्लोन करें
git clone https://github.com/openclaw/openclaw.gitcd openclawयह गाइड एक कस्टम इमेज बनाती है, ताकि आपके द्वारा उसमें शामिल की गई सभी बाइनरी रीस्टार्ट के बाद भी बनी रहें।
स्थायी होस्ट डायरेक्टरी बनाएँ
Docker कंटेनर अस्थायी होते हैं; लंबे समय तक बने रहने वाला पूरा स्टेट होस्ट पर होना चाहिए।
mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceएनवायरनमेंट वेरिएबल कॉन्फ़िगर करें
रिपॉज़िटरी रूट में .env बनाएँ:
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/.openclawस्थायी Gateway टोकन को
.env के माध्यम से प्रबंधित करने के लिए OPENCLAW_GATEWAY_TOKEN सेट करें; अन्यथा रीस्टार्ट के बाद क्लाइंट पर निर्भर होने से पहले gateway.auth.token कॉन्फ़िगर करें। यदि दोनों में से कोई सेट नहीं है, तो OpenClaw उस स्टार्टअप के लिए केवल रनटाइम टोकन का उपयोग करता है। GOG_KEYRING_PASSWORD के लिए एक कीरिंग पासवर्ड बनाएँ:
openssl rand -hex 32इस फ़ाइल को कमिट न करें। इसमें
OPENCLAW_GATEWAY_TOKEN जैसे कंटेनर/रनटाइम एनवायरनमेंट वेरिएबल होते हैं। संग्रहीत प्रदाता OAuth/API-कुंजी प्रमाणीकरण माउंट की गई
~/.openclaw/agents/<agentId>/agent/auth-profiles.json में रहता है।
Docker Compose कॉन्फ़िगरेशन
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: # अनुशंसित: VM पर Gateway को केवल लूपबैक तक सीमित रखें; SSH टनल से एक्सेस करें। # इसे सार्वजनिक रूप से एक्सपोज़ करने के लिए, `127.0.0.1:` उपसर्ग हटाएँ और उसके अनुसार फ़ायरवॉल कॉन्फ़िगर करें। - "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 केवल प्रारंभिक सेटअप की सुविधा के लिए है, वास्तविक Gateway कॉन्फ़िगरेशन का विकल्प नहीं। अपने डिप्लॉयमेंट के लिए फिर भी प्रमाणीकरण (gateway.auth.token या पासवर्ड) और सुरक्षित बाइंड मोड सेट करें।
साझा Docker VM रनटाइम चरण
सामान्य Docker होस्ट प्रवाह के लिए साझा रनटाइम गाइड का पालन करें:
GCP-विशिष्ट लॉन्च संबंधी टिप्पणियाँ
यदि pnpm install --frozen-lockfile के दौरान बिल्ड Killed या exit code 137 के साथ विफल होता है, तो VM की मेमोरी समाप्त हो गई है। कम-से-कम e2-small या अधिक विश्वसनीय पहले बिल्ड के लिए e2-medium का उपयोग करें।
LAN (OPENCLAW_GATEWAY_BIND=lan) से बाइंड करते समय, आगे बढ़ने से पहले कोई विश्वसनीय ब्राउज़र ओरिजिन कॉन्फ़िगर करें:
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-jsonयदि आपने पोर्ट बदला है, तो 18789 को अपने कॉन्फ़िगर किए गए पोर्ट से बदलें।
अपने लैपटॉप से एक्सेस करें
Gateway पोर्ट फ़ॉरवर्ड करने के लिए एक SSH टनल बनाएँ:
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789अपने ब्राउज़र में http://127.0.0.1:18789/ खोलें।
एक साफ़ डैशबोर्ड लिंक फिर से प्रिंट करें:
docker compose run --rm openclaw-cli dashboard --no-openयदि UI साझा-सीक्रेट प्रमाणीकरण माँगता है, तो कॉन्फ़िगर किया गया टोकन या पासवर्ड Control UI सेटिंग में पेस्ट करें (यह Docker प्रवाह डिफ़ॉल्ट रूप से टोकन लिखता है; यदि आपने पासवर्ड प्रमाणीकरण अपनाया है, तो इसके बजाय अपना कॉन्फ़िगर किया गया पासवर्ड उपयोग करें)।
यदि Control UI में unauthorized या disconnected (1008): pairing required दिखाई देता है, तो ब्राउज़र डिवाइस को स्वीकृति दें:
docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve <requestId>साझा स्थायित्व मैप के लिए Docker VM रनटाइम और अपडेट प्रवाह देखें।
समस्या निवारण
SSH कनेक्शन अस्वीकृत
VM बनने के बाद SSH कुंजी के प्रसार में 1-2 मिनट लग सकते हैं। प्रतीक्षा करें और पुनः प्रयास करें।
OS Login संबंधी समस्याएँ
अपनी OS Login प्रोफ़ाइल जाँचें:
gcloud compute os-login describe-profileसुनिश्चित करें कि आपके खाते में आवश्यक IAM अनुमतियाँ (Compute OS Login या Compute OS Admin Login) हैं।
मेमोरी समाप्त (OOM)
यदि Docker बिल्ड Killed और exit code 137 के साथ विफल होता है, तो VM को OOM के कारण समाप्त कर दिया गया था:
# पहले VM रोकेंgcloud compute instances stop openclaw-gateway --zone=us-central1-a # मशीन का प्रकार बदलेंgcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small # VM शुरू करेंgcloud compute instances start openclaw-gateway --zone=us-central1-aसेवा खाते (सुरक्षा का सर्वोत्तम अभ्यास)
व्यक्तिगत उपयोग के लिए, आपका डिफ़ॉल्ट उपयोगकर्ता खाता ठीक काम करता है। स्वचालन या CI/CD के लिए, न्यूनतम अनुमतियों वाला एक समर्पित सेवा खाता बनाएँ:
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"स्वचालन के लिए Owner भूमिका से बचें; काम करने वाली सबसे सीमित भूमिका का उपयोग करें। भूमिकाओं को समझना देखें।
अगले चरण
- मैसेजिंग चैनल सेट अप करें: चैनल
- स्थानीय डिवाइस को Node के रूप में पेयर करें: Node
- Gateway कॉन्फ़िगर करें: Gateway कॉन्फ़िगरेशन