Hosting

Hetzner

Запустіть постійний OpenClaw Gateway на VPS Hetzner за допомогою Docker зі збережуваним станом, вбудованими бінарними файлами та безпечною поведінкою під час перезапуску.

Ціни Hetzner змінюються; виберіть найменший VPS із Debian/Ubuntu, який відповідає вимогам, і збільште його ресурси, якщо виникатимуть помилки через нестачу пам’яті.

Доступ до Gateway можна отримати з вашого ноутбука через перенаправлення порту SSH або шляхом прямого відкриття порту, якщо ви самостійно керуєте брандмауером і токенами.

Нагадування щодо моделі безпеки:

  • Спільні агенти компанії цілком прийнятні, якщо всі перебувають у межах одного контуру довіри, а середовище виконання використовується лише для робочих завдань.
  • Дотримуйтеся суворого розділення: окремий VPS/середовище виконання та окремі облікові записи; на цьому хості не повинно бути особистих профілів Apple, Google, браузера чи менеджера паролів.
  • Якщо користувачі можуть діяти вороже один до одного, розділіть їх за Gateway, хостами або користувачами ОС.

Див. Безпека і Хостинг на VPS.

У цьому посібнику передбачається використання Ubuntu або Debian на Hetzner. Для іншого VPS із Linux підберіть відповідні пакунки. Загальний процес роботи з Docker описано в розділі Docker.

Що вам знадобиться

  • VPS Hetzner із доступом root
  • Доступ SSH із вашого ноутбука
  • Docker і Docker Compose
  • Облікові дані для автентифікації моделі
  • Необов’язкові облікові дані провайдерів (QR-код WhatsApp, токен бота Telegram, OAuth Gmail)
  • Приблизно 20 хвилин

Швидкий шлях

  1. Створіть VPS Hetzner
  2. Установіть Docker
  3. Клонуйте репозиторій OpenClaw
  4. Створіть постійні каталоги на хості
  5. Налаштуйте .env і docker-compose.yml
  6. Вбудуйте необхідні бінарні файли в образ
  7. Виконайте docker compose up -d
  8. Перевірте збереження стану та доступ до Gateway
  • Створення VPS

    Створіть VPS з Ubuntu або Debian у Hetzner, а потім підключіться як root:

    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

    Задайте OPENCLAW_GATEWAY_TOKEN, щоб керувати стабільним токеном Gateway через .env; інакше налаштуйте 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:      # Рекомендовано: залиште Gateway доступним лише через loopback на VPS; підключайтеся через тунель 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

    Дотримуйтеся спільного посібника із середовища виконання для типового процесу на хості Docker:

  • Доступ, специфічний для Hetzner

    Після виконання спільних кроків зі збирання та запуску відкрийте тунель.

    Передумова: переконайтеся, що конфігурація sshd на VPS дозволяє перенаправлення 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.

    Інфраструктура як код (Terraform)

    Для команд, які надають перевагу процесам «інфраструктура як код», підтримуване спільнотою налаштування Terraform надає:

    • Модульну конфігурацію Terraform із віддаленим керуванням станом
    • Автоматизоване створення ресурсів за допомогою cloud-init
    • Скрипти розгортання (початкове налаштування, розгортання, резервне копіювання/відновлення)
    • Посилення безпеки (брандмауер, UFW, доступ лише через SSH)
    • Конфігурацію тунелю SSH для доступу до Gateway

    Репозиторії:

    Цей підхід доповнює описане вище налаштування Docker відтворюваними розгортаннями, інфраструктурою під керуванням версій та автоматизованим аварійним відновленням.

    Наступні кроки

    Пов’язані матеріали

    Was this useful?
    On this page

    On this page