Hosting

Hetzner

Docker का उपयोग करके Hetzner VPS पर एक स्थायी OpenClaw Gateway चलाएँ, जिसमें टिकाऊ स्थिति, इमेज में अंतर्निहित बाइनरी और सुरक्षित पुनरारंभ व्यवहार हो।

Hetzner की कीमतें बदलती रहती हैं; आवश्यकताओं के अनुरूप सबसे छोटा Debian/Ubuntu VPS चुनें और OOM होने पर उसका आकार बढ़ाएँ।

Gateway को आपके लैपटॉप से SSH पोर्ट फ़ॉरवर्डिंग के माध्यम से या, यदि आप फ़ायरवॉल और टोकन स्वयं प्रबंधित करते हैं, तो सीधे पोर्ट उजागर करके एक्सेस किया जा सकता है।

सुरक्षा मॉडल का स्मरण:

  • कंपनी द्वारा साझा किए गए एजेंट तब ठीक हैं, जब सभी एक ही विश्वास सीमा में हों और रनटाइम केवल व्यावसायिक उपयोग के लिए हो।
  • कड़ा पृथक्करण बनाए रखें: समर्पित VPS/रनटाइम + समर्पित खाते; उस होस्ट पर कोई व्यक्तिगत Apple/Google/ब्राउज़र/पासवर्ड-मैनेजर प्रोफ़ाइल न रखें।
  • यदि उपयोगकर्ता एक-दूसरे के प्रति प्रतिकूल हैं, तो उन्हें gateway/होस्ट/OS उपयोगकर्ता के अनुसार अलग करें।

सुरक्षा और VPS होस्टिंग देखें।

यह मार्गदर्शिका Hetzner पर Ubuntu या Debian मानकर चलती है। किसी अन्य Linux VPS पर पैकेजों को उसके अनुसार मैप करें। सामान्य Docker प्रवाह के लिए Docker देखें।

आपको क्या चाहिए

  • रूट एक्सेस वाला Hetzner VPS
  • आपके लैपटॉप से SSH एक्सेस
  • Docker और Docker Compose
  • मॉडल प्रमाणीकरण क्रेडेंशियल
  • वैकल्पिक प्रदाता क्रेडेंशियल (WhatsApp QR, Telegram बॉट टोकन, Gmail OAuth)
  • ~20 मिनट

त्वरित तरीका

  1. Hetzner VPS का प्रावधान करें
  2. Docker इंस्टॉल करें
  3. OpenClaw रिपॉज़िटरी क्लोन करें
  4. स्थायी होस्ट डायरेक्टरी बनाएँ
  5. .env और docker-compose.yml कॉन्फ़िगर करें
  6. आवश्यक बाइनरी को इमेज में शामिल करें
  7. docker compose up -d
  8. स्थायित्व और Gateway एक्सेस सत्यापित करें
  • VPS का प्रावधान करें

    Hetzner में Ubuntu या Debian VPS बनाएँ, फिर रूट के रूप में कनेक्ट करें:

    bash
    ssh root@YOUR_VPS_IP

    VPS को डिस्पोज़ेबल इन्फ़्रास्ट्रक्चर नहीं, बल्कि स्थिति बनाए रखने वाले इन्फ़्रास्ट्रक्चर के रूप में मानें।

  • Docker इंस्टॉल करें (VPS पर)

    bash
    apt-get updateapt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sh

    सत्यापित करें:

    bash
    docker --versiondocker compose version
  • OpenClaw रिपॉज़िटरी क्लोन करें

    bash
    git clone https://github.com/openclaw/openclaw.gitcd openclaw

    यह मार्गदर्शिका एक कस्टम इमेज बनाती है, ताकि उसमें शामिल की गई सभी बाइनरी पुनरारंभ के बाद भी बनी रहें।

  • स्थायी होस्ट डायरेक्टरी बनाएँ

    Docker कंटेनर अस्थायी होते हैं; लंबे समय तक बनी रहने वाली पूरी स्थिति होस्ट पर रहनी चाहिए।

    bash
    mkdir -p /root/.openclaw/workspace # स्वामित्व कंटेनर उपयोगकर्ता (uid 1000) को दें:chown -R 1000:1000 /root/.openclaw
  • पर्यावरण चर कॉन्फ़िगर करें

    रिपॉज़िटरी रूट में .env बनाएँ:

    bash
    OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/root/.openclawOPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclaw

    स्थिर gateway टोकन को .env के माध्यम से प्रबंधित करने के लिए OPENCLAW_GATEWAY_TOKEN सेट करें; अन्यथा पुनरारंभों के दौरान क्लाइंट पर निर्भर होने से पहले gateway.auth.token कॉन्फ़िगर करें। यदि इनमें से कोई भी सेट नहीं है, तो OpenClaw उस स्टार्टअप के लिए केवल रनटाइम में उपलब्ध टोकन का उपयोग करता है। GOG_KEYRING_PASSWORD के लिए कीरिंग पासवर्ड जनरेट करें:

    bash
    openssl rand -hex 32

    इस फ़ाइल को कमिट न करें। इसमें OPENCLAW_GATEWAY_TOKEN जैसे कंटेनर/रनटाइम पर्यावरण चर होते हैं। संग्रहीत प्रदाता OAuth/API-कुंजी प्रमाणीकरण माउंट किए गए ~/.openclaw/agents/<agentId>/agent/auth-profiles.json में रहता है।

  • Docker Compose कॉन्फ़िगरेशन

    docker-compose.yml बनाएँ या अपडेट करें:

    yaml
    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:      # अनुशंसित: VPS पर 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 होस्ट प्रवाह के लिए साझा रनटाइम मार्गदर्शिका का पालन करें:

  • Hetzner-विशिष्ट एक्सेस

    साझा बिल्ड और लॉन्च चरणों के बाद टनल खोलें।

    पूर्वापेक्षा: सुनिश्चित करें कि आपका VPS sshd कॉन्फ़िगरेशन TCP फ़ॉरवर्डिंग की अनुमति देता है। यदि आपने अपना SSH कॉन्फ़िगरेशन अधिक सुरक्षित बनाया है, तो /etc/ssh/sshd_config जाँचें और यह सेट करें:

    text
    AllowTcpForwarding local

    local आपके लैपटॉप से ssh -L स्थानीय फ़ॉरवर्ड की अनुमति देता है, जबकि सर्वर से रिमोट फ़ॉरवर्ड को अवरुद्ध करता है। इसे no पर सेट करने से टनल इस संदेश के साथ विफल हो जाती है: channel 3: open failed: administratively prohibited: open failed

    TCP फ़ॉरवर्डिंग सक्षम होने की पुष्टि करने के बाद SSH सेवा (systemctl restart ssh) पुनरारंभ करें और अपने लैपटॉप से टनल चलाएँ:

    bash
    ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP

    http://127.0.0.1:18789/ खोलें और कॉन्फ़िगर किया गया साझा सीक्रेट पेस्ट करें। यह मार्गदर्शिका डिफ़ॉल्ट रूप से gateway टोकन का उपयोग करती है; यदि आपने पासवर्ड प्रमाणीकरण अपनाया है, तो इसके बजाय अपना कॉन्फ़िगर किया गया पासवर्ड उपयोग करें।

  • साझा स्थायित्व मानचित्र Docker VM रनटाइम में उपलब्ध है।

    कोड के रूप में इन्फ़्रास्ट्रक्चर (Terraform)

    कोड के रूप में इन्फ़्रास्ट्रक्चर वाले कार्यप्रवाह को प्राथमिकता देने वाली टीमों के लिए, समुदाय द्वारा अनुरक्षित Terraform सेटअप यह प्रदान करता है:

    • रिमोट स्थिति प्रबंधन के साथ मॉड्यूलर Terraform कॉन्फ़िगरेशन
    • cloud-init के माध्यम से स्वचालित प्रावधान
    • परिनियोजन स्क्रिप्ट (बूटस्ट्रैप, परिनियोजन, बैकअप/पुनर्स्थापना)
    • सुरक्षा सुदृढ़ीकरण (फ़ायरवॉल, UFW, केवल SSH एक्सेस)
    • gateway एक्सेस के लिए SSH टनल कॉन्फ़िगरेशन

    रिपॉज़िटरी:

    यह तरीका पुनरुत्पाद्य परिनियोजन, संस्करण-नियंत्रित इन्फ़्रास्ट्रक्चर और स्वचालित आपदा पुनर्प्राप्ति के साथ ऊपर दिए गए Docker सेटअप का पूरक है।

    अगले चरण

    संबंधित

    Was this useful?
    On this page

    On this page