OpenClaw на Hetzner (Docker, production-руководство для VPS)
Цель
Запустить постоянный OpenClaw Gateway на VPS Hetzner через Docker с надёжным хранением состояния, встроенными бинарниками и безопасным поведением при перезапуске.
Если вы хотите «OpenClaw 24/7 за ~$5» — это самый простой и надёжный вариант. Цены Hetzner могут меняться; выбирайте минимальный VPS с Debian/Ubuntu и масштабируйтесь при OOM.
Модель безопасности:
- Общие агенты компании допустимы, когда все пользователи в одной границе доверия, а среда выполнения только для рабочих задач.
- Соблюдайте строгое разделение: выделенный VPS/runtime + выделённые аккаунты; без личных профилей Apple/Google/браузера/менеджера паролей на этом хосте.
- Если пользователи не доверяют друг другу, разделяйте по шлюзам/хостам/пользователям ОС.
См. Безопасность и Хостинг VPS.
Что мы делаем (простым языком)?
- Арендуем небольшой Linux-сервер (Hetzner VPS)
- Устанавливаем Docker (изолированная среда выполнения)
- Запускаем OpenClaw Gateway в Docker
- Сохраняем
~/.openclaw+~/.openclaw/workspaceна хосте (переживает перезапуски/пересборки) - Обращаемся к Control UI с ноутбука через SSH-туннель
Доступ к шлюзу возможен через:
- SSH port forwarding с ноутбука
- Прямое открытие порта, если вы сами управляете файрволом и токенами
В этом руководстве предполагается Ubuntu или Debian на Hetzner. Для другого Linux VPS адаптируйте пакеты. Общий Docker-процесс — см. Docker.
Быстрый путь (для опытных)
- Создайте VPS на Hetzner
- Установите Docker
- Клонируйте репозиторий OpenClaw
- Создайте постоянные директории на хосте
- Настройте
.envиdocker-compose.yml - Встройте бинарники в образ
docker compose up -d- Проверьте сохранение данных и доступ к шлюзу
Что вам потребуется
- VPS Hetzner с root-доступом
- SSH-доступ с ноутбука
- Базовые навыки SSH + копирования/вставки
- ~20 минут
- Docker и Docker Compose
- Учётные данные авторизации модели
- Опциональные учётные данные провайдеров
- WhatsApp QR
- Токен Telegram-бота
- Gmail OAuth
1) Создание VPS
Создайте VPS с Ubuntu или Debian на Hetzner.
Подключитесь как root:
ssh root@YOUR_VPS_IP
В этом руководстве VPS считается stateful. Не обращайтесь с ним как с одноразовой инфраструктурой.
2) Установка Docker (на VPS)
apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
Проверка:
docker --version
docker compose version
3) Клонирование репозитория OpenClaw
git clone https://github.com/openclaw/openclaw.git
cd openclaw
В этом руководстве предполагается сборка собственного образа для гарантии сохранения бинарников.
4) Создание постоянных директорий на хосте
Docker-контейнеры эфемерны. Всё долгоживущее состояние должно храниться на хосте.
mkdir -p /root/.openclaw/workspace
# Установить владельца на пользователя контейнера (uid 1000):
chown -R 1000:1000 /root/.openclaw
5) Настройка переменных окружения
Создайте .env в корне репозитория.
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=change-me-now
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/root/.openclaw
OPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace
GOG_KEYRING_PASSWORD=change-me-now
XDG_CONFIG_HOME=/home/node/.openclaw
Сгенерируйте надёжные секреты:
openssl rand -hex 32
Не коммитьте этот файл.
6) Конфигурация 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:
# Рекомендуется: шлюз только через 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.auth.token или пароль) и используйте безопасные настройки привязки.
7) Общие шаги Docker VM runtime
Используйте общее руководство runtime для стандартного Docker-процесса:
8) Доступ на Hetzner
После общих шагов сборки и запуска создайте туннель с ноутбука:
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IP
Откройте:
http://127.0.0.1:18789/
Вставьте токен шлюза.
Карта хранения данных — в Docker VM Runtime.
Infrastructure as Code (Terraform)
Для команд, предпочитающих подход infrastructure-as-code, существует поддерживаемая сообществом конфигурация Terraform:
- Модульная конфигурация Terraform с удалённым управлением состоянием
- Автоматическое создание ресурсов через cloud-init
- Скрипты развёртывания (bootstrap, deploy, backup/restore)
- Hardening безопасности (файрвол, UFW, доступ только по SSH)
- Настройка SSH-туннеля для доступа к шлюзу
Репозитории:
- Инфраструктура: openclaw-terraform-hetzner
- Конфигурация Docker: openclaw-docker-config
Этот подход дополняет Docker-установку выше воспроизводимыми развёртываниями, версионированной инфраструктурой и автоматическим восстановлением.
Примечание: Поддерживается сообществом. По вопросам и предложениям обращайтесь в репозитории выше.