OpenClaw на Hetzner (Docker, руководство для production VPS)
Цель
Запустить постоянный OpenClaw Gateway на VPS Hetzner с использованием Docker, с устойчивым состоянием, встроенными бинарниками и безопасным поведением при перезапуске. Если вам нужен «OpenClaw 24/7 примерно за ~$5», это самая простая надёжная настройка. Цены Hetzner меняются; выберите самый маленький VPS с Debian/Ubuntu и масштабируйтесь, если столкнётесь с OOM.Что мы делаем (простыми словами)?
- Арендуем небольшой Linux-сервер (VPS Hetzner)
- Устанавливаем Docker (изолированная среда выполнения приложений)
- Запускаем OpenClaw Gateway в Docker
- Сохраняем
~/.openclaw+~/.openclaw/workspaceна хосте (переживает перезапуски/пересборки) - Получаем доступ к Control UI с ноутбука через SSH-туннель
- Проброс портов SSH с вашего ноутбука
- Прямое открытие порта, если вы самостоятельно управляете файрволом и токенами
Если у вас другой Linux VPS, сопоставьте пакеты соответствующим образом. Для общего Docker-потока см. Docker.
Быстрый путь (для опытных операторов)
- Подготовить VPS Hetzner
- Установить Docker
- Клонировать репозиторий OpenClaw
- Создать постоянные каталоги на хосте
- Настроить
.envиdocker-compose.yml - Встроить необходимые бинарники в образ
docker compose up -d- Проверить сохранность данных и доступ к Gateway
Что вам понадобится
- VPS Hetzner с root-доступом
- SSH-доступ с вашего ноутбука
- Базовое владение SSH + копированием/вставкой
- ~20 минут
- Docker и Docker Compose
- Учётные данные аутентификации модели
- Необязательные учетные данные поставщика
- QR для WhatsApp
- Токен бота Telegram
- OAuth Gmail
1. Подготовка VPS
Создайте VPS с Ubuntu или Debian в Hetzner. Подключитесь как root:2. Установка Docker (на VPS)
3. Клонирование репозитория OpenClaw
4. Создание постоянных каталогов на хосте
Docker-контейнеры эфемерны. Все долгоживущее состояние должно храниться на хосте.5. Настройка переменных окружения
Создайте.env в корне репозитория.
6. Конфигурация Docker Compose
Создайте или обновитеdocker-compose.yml.
--allow-unconfigured предназначен только для удобства начальной настройки и не является заменой корректной конфигурации шлюза. Обязательно настройте аутентификацию (gateway.auth.token или пароль) и используйте безопасные параметры привязки для вашего развертывания.
7. Встраивание необходимых бинарников в образ (критично)
Установка бинарников внутри запущенного контейнера — ловушка. Всё, что установлено во время выполнения, будет потеряно при перезапуске. Все внешние бинарники, необходимые Skills, должны устанавливаться на этапе сборки образа. Примеры ниже показывают только три распространённых бинарника:gogдля доступа к Gmailgoplacesдля Google Placeswacliдля WhatsApp
- Обновить Dockerfile
- Пересобрать образ
- Перезапустить контейнеры
8. Сборка и запуск
9. Проверка Gateway
http://127.0.0.1:18789/
Вставьте токен вашего Gateway.
Что и где сохраняется (источник истины)
OpenClaw работает в Docker, но Docker не является источником истины. Всё долгоживущее состояние должно переживать перезапуски, пересборки и перезагрузки.| Компонент | Расположение | Механизм сохранности | Примечания |
|---|---|---|---|
| Конфигурация Gateway | /home/node/.openclaw/ | Монтирование тома хоста | Включает openclaw.json, токены |
| Профили аутентификации моделей | /home/node/.openclaw/ | Монтирование тома хоста | OAuth-токены, ключи API |
| Конфиги Skills | /home/node/.openclaw/skills/ | Монтирование тома хоста | Состояние на уровне Skills |
| Рабочее пространство агента | /home/node/.openclaw/workspace/ | Монтирование тома хоста | Код и артефакты агента |
| Сеанс WhatsApp | /home/node/.openclaw/ | Монтирование тома хоста | Сохраняет вход по QR |
| Хранилище ключей Gmail | /home/node/.openclaw/ | Том хоста + пароль | Требуется GOG_KEYRING_PASSWORD |
| Внешние бинарники | /usr/local/bin/ | Docker-образ | Должен быть испечен во время сборки |
| Среда выполнения Node | Файловая система контейнера | Docker-образ | Восстановить все изображения |
| Пакеты ОС | Файловая система контейнера | Docker-образ | Не устанавливать во время выполнения |
| Docker-контейнер | Эфемерный | Перезапускаемый | Безопасно удалять |
Инфраструктура как код (Terraform)
Для команд, предпочитающих процессы инфраструктуры как кода, поддерживаемая сообществом конфигурация Terraform предоставляет:- Модульную конфигурацию Terraform с удалённым управлением состоянием
- Автоматическое развертывание через cloud-init
- Скрипты развертывания (bootstrap, deploy, backup/restore)
- Усиленную безопасность (firewall, UFW, доступ только по SSH)
- Настройку SSH-туннеля для доступа к gateway
- Инфраструктура: openclaw-terraform-hetzner
- Конфигурация Docker: openclaw-docker-config
Примечание: Поддерживается сообществом. По вопросам и предложениям см. ссылки на репозитории выше.