На этой странице
На этой странице
Hosting
Среда выполнения Docker в виртуальной машине
Общие шаги настройки среды выполнения для установки Docker на виртуальных машинах, например у GCP, Hetzner и аналогичных поставщиков VPS.
Включение необходимых исполняемых файлов в образ
Устанавливать исполняемые файлы внутри работающего контейнера — ненадёжный подход: всё установленное во время выполнения теряется при перезапуске. Включайте каждый внешний исполняемый файл, необходимый для навыка, в образ на этапе сборки.
В примерах ниже рассматриваются только три исполняемых файла в алфавитном порядке:
gog(изgogcli) для доступа к Gmailgoplacesдля Google Placeswacliдля WhatsApp
Это лишь примеры, а не полный список. Устанавливайте по той же схеме столько исполняемых файлов, сколько требуется вашим навыкам. Если позднее вы добавите навык, которому нужен новый исполняемый файл:
- Обновите Dockerfile.
- Пересоберите образ.
- Перезапустите контейнеры.
Пример Dockerfile
Сборка и запуск
Если во время pnpm install --frozen-lockfile сборка завершается ошибкой Killed или с кодом выхода 137, виртуальной машине не хватает памяти. Перед повторной попыткой выберите класс машины с большим объёмом памяти.
Проверьте исполняемые файлы:
Ожидаемый вывод:
Убедитесь, что Gateway запущен:
Ответ /healthz с кодом 200 подтверждает, что процесс Gateway принимает подключения и исправен; встроенная проверка работоспособности образа HEALTHCHECK опрашивает ту же конечную точку.
Где и какие данные сохраняются
OpenClaw работает в Docker, но Docker не является источником достоверных данных. Все долговременные данные должны сохраняться после перезапусков, пересборок и перезагрузок.
| Компонент | Расположение | Механизм сохранения | Примечания |
|---|---|---|---|
| Конфигурация Gateway | /home/node/.openclaw/ |
Подключение тома хоста | Включает openclaw.json |
| Учётные данные каналов и поставщиков | /home/node/.openclaw/credentials/ |
Подключение тома хоста | Данные учётных данных каналов и поставщиков |
| Профили аутентификации моделей | /home/node/.openclaw/agents/ |
Подключение тома хоста | agents/<agentId>/agent/auth-profiles.json (OAuth, ключи API) |
| Устаревший файл ключей OAuth | /home/node/.config/openclaw/ |
Подключение тома хоста | Совместимость только для чтения с дополнительными файлами OAuth до миграции; openclaw doctor --fix переносит их в auth-profiles.json |
| Конфигурации навыков | /home/node/.openclaw/skills/ |
Подключение тома хоста | Состояние на уровне навыка |
| Рабочее пространство агента | /home/node/.openclaw/workspace/ |
Подключение тома хоста | Код и артефакты агента |
| Сеанс WhatsApp | /home/node/.openclaw/ |
Подключение тома хоста | Сохраняет вход по QR-коду |
| Хранилище ключей Gmail | /home/node/.openclaw/ |
Том хоста + пароль | Требуется GOG_KEYRING_PASSWORD |
| Пакеты плагинов | /home/node/.openclaw/npm, /home/node/.openclaw/git |
Подключение тома хоста | Корневые каталоги загружаемых пакетов плагинов |
| Внешние исполняемые файлы | /usr/local/bin/ |
Образ Docker | Должны включаться на этапе сборки |
| Среда выполнения Node | Файловая система контейнера | Образ Docker | Пересобирается при каждой сборке образа |
| Пакеты ОС | Файловая система контейнера | Образ Docker | Не устанавливайте во время выполнения |
| Контейнер Docker | Временный | Перезапускаемый | Можно безопасно удалить |
Обновления
Чтобы обновить OpenClaw на виртуальной машине: