Hosting
Hetzner
Мета
Запустити постійний OpenClaw Gateway на Hetzner VPS за допомогою Docker, зі стійким станом, вбудованими бінарними файлами та безпечною поведінкою перезапуску.
Якщо вам потрібен "OpenClaw 24/7 приблизно за $5", це найпростіше надійне налаштування. Ціни Hetzner змінюються; виберіть найменший Debian/Ubuntu VPS і масштабуйтеся вгору, якщо зіткнетеся з OOM.
Нагадування про модель безпеки:
- Спільні для компанії агенти підходять, коли всі перебувають в одній межі довіри, а середовище виконання використовується лише для бізнесу.
- Дотримуйтеся суворого розділення: окремий VPS/середовище виконання + окремі облікові записи; жодних особистих профілів Apple/Google/браузера/менеджера паролів на цьому хості.
- Якщо користувачі можуть бути ворожими один до одного, розділяйте їх за gateway/хостом/користувачем ОС.
Див. Безпека і VPS-хостинг.
Що ми робимо (простими словами)?
- Орендуємо невеликий Linux-сервер (Hetzner VPS)
- Встановлюємо Docker (ізольоване середовище виконання застосунку)
- Запускаємо OpenClaw Gateway у Docker
- Зберігаємо
~/.openclaw+~/.openclaw/workspaceна хості (переживає перезапуски/перезбирання) - Отримуємо доступ до інтерфейсу керування з вашого ноутбука через SSH-тунель
Цей змонтований стан ~/.openclaw включає openclaw.json, окремі для кожного агента
agents/<agentId>/agent/auth-profiles.json і .env.
До Gateway можна отримати доступ через:
- Перенаправлення SSH-порту з вашого ноутбука
- Пряме відкриття порту, якщо ви самостійно керуєте firewall і токенами
Цей посібник передбачає Ubuntu або Debian на Hetzner.
Якщо ви використовуєте інший Linux VPS, зіставте пакети відповідно.
Для загального Docker-процесу див. Docker.
Швидкий шлях (досвідчені оператори)
- Підготуйте Hetzner VPS
- Встановіть Docker
- Клонуйте репозиторій OpenClaw
- Створіть постійні каталоги на хості
- Налаштуйте
.envіdocker-compose.yml - Вбудуйте потрібні бінарні файли в образ
docker compose up -d- Перевірте збереження стану та доступ до Gateway
Що вам потрібно
- Hetzner VPS з root-доступом
- SSH-доступ із вашого ноутбука
- Базова впевненість у роботі з SSH + копіюванням/вставленням
- ~20 хвилин
- Docker і Docker Compose
- Облікові дані автентифікації моделі
- Необов’язкові облікові дані провайдерів
- WhatsApp QR
- Токен Telegram-бота
- Gmail OAuth
Підготуйте VPS
Створіть Ubuntu або Debian VPS у 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 # Set ownership to the container user (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 використовує
токен лише для поточного запуску. Згенеруйте пароль keyring і вставте
його в GOG_KEYRING_PASSWORD:
openssl rand -hex 32Не комітьте цей файл.
Цей файл .env призначений для змінних середовища контейнера/середовища виконання, таких як OPENCLAW_GATEWAY_TOKEN.
Збережена автентифікація OAuth/API-key провайдера міститься у змонтованому
~/.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: # Recommended: keep the Gateway loopback-only on the VPS; access via SSH tunnel. # To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly. - "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 або пароль) і використовуйте безпечні налаштування bind для вашого розгортання.
Спільні кроки середовища виконання Docker VM
Використовуйте спільний посібник середовища виконання для загального процесу на Docker-хості:
Доступ, специфічний для Hetzner
Після спільних кроків збирання та запуску завершіть таке налаштування, щоб відкрити тунель:
Передумова: Переконайтеся, що конфігурація sshd вашого VPS дозволяє TCP forwarding. Якщо ви
посилили свою SSH-конфігурацію, перевірте /etc/ssh/sshd_config і задайте:
AllowTcpForwarding locallocal дозволяє локальні перенаправлення ssh -L з вашого ноутбука, водночас блокуючи
віддалені перенаправлення із сервера. Якщо встановити no, тунель завершиться помилкою
з:
channel 3: open failed: administratively prohibited: open failed
Після підтвердження, що TCP forwarding увімкнено, перезапустіть 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 VM Runtime.
Інфраструктура як код (Terraform)
Для команд, які віддають перевагу робочим процесам infrastructure-as-code, підтримуване спільнотою налаштування Terraform надає:
- Модульну конфігурацію Terraform із керуванням віддаленим станом
- Автоматизоване підготування через cloud-init
- Скрипти розгортання (bootstrap, deploy, backup/restore)
- Посилення безпеки (firewall, UFW, доступ лише через SSH)
- Конфігурацію SSH-тунелю для доступу до gateway
Репозиторії:
- Інфраструктура: openclaw-terraform-hetzner
- Конфігурація Docker: openclaw-docker-config
Цей підхід доповнює Docker-налаштування вище відтворюваними розгортаннями, інфраструктурою під контролем версій і автоматизованим аварійним відновленням.
Наступні кроки
- Налаштуйте канали обміну повідомленнями: Канали
- Налаштуйте Gateway: Конфігурація Gateway
- Підтримуйте OpenClaw в актуальному стані: Оновлення