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 хвилин
Швидкий шлях
- Створіть VPS Hetzner
- Установіть Docker
- Клонуйте репозиторій OpenClaw
- Створіть постійні каталоги на хості
- Налаштуйте
.envіdocker-compose.yml - Вбудуйте необхідні бінарні файли в образ
- Виконайте
docker compose up -d - Перевірте збереження стану та доступ до Gateway
Створення VPS
Створіть VPS з Ubuntu або Debian у Hetzner, а потім підключіться як root:
ssh root@YOUR_VPS_IPРозглядайте VPS як інфраструктуру зі станом, а не як одноразову.
Установлення Docker (на VPS)
apt-get updateapt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | shПеревірте:
docker --versiondocker compose versionКлонування репозиторію OpenClaw
git clone https://github.com/openclaw/openclaw.gitcd openclawУ цьому посібнику створюється власний образ, щоб усі вбудовані в нього бінарні файли зберігалися після перезапусків.
Створення постійних каталогів на хості
Контейнери Docker є тимчасовими; увесь довготривалий стан має зберігатися на хості.
mkdir -p /root/.openclaw/workspace # Призначте власником користувача контейнера (uid 1000):chown -R 1000:1000 /root/.openclawНалаштування змінних середовища
Створіть .env у корені репозиторію:
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:
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: # Рекомендовано: залиште 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 і задайте:
AllowTcpForwarding localЗначення local дозволяє локальне перенаправлення ssh -L із вашого ноутбука, водночас блокуючи
зворотне перенаправлення із сервера. Значення no спричиняє помилку тунелю:
channel 3: open failed: administratively prohibited: open failed
Переконавшись, що перенаправлення TCP увімкнено, перезапустіть службу SSH
(systemctl restart ssh) і запустіть тунель із ноутбука:
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
Репозиторії:
- Інфраструктура: openclaw-terraform-hetzner
- Конфігурація Docker: openclaw-docker-config
Цей підхід доповнює описане вище налаштування Docker відтворюваними розгортаннями, інфраструктурою під керуванням версій та автоматизованим аварійним відновленням.
Наступні кроки
- Налаштуйте канали обміну повідомленнями: Канали
- Налаштуйте Gateway: Конфігурація Gateway
- Підтримуйте OpenClaw в актуальному стані: Оновлення