Обзор развертывания OpenClaw на сервере¶
Предварительные требования¶
Для успешного развертывания приложения необходимо обеспечить соответствие следующим параметрам:
-
Операционная система: Debian 11+ или Ubuntu 20.04+.
-
Права доступа: Требуются права суперпользователя (root) или доступ к
sudo. -
Порты:
-
22/tcp— SSH (доступ по умолчанию). -
80/tcpи443/tcp— HTTP и HTTPS для веб-интерфейса. -
18789/tcp— порт шлюза OpenClaw (по умолчанию). -
41641/udp— если используется Tailscale.
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | openclaw |
| Домен | hostkey.in |
| Полный шаблон | openclaw{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
После установки структура данных и конфигураций будет следующей:
-
/home/openclaw/.openclaw/— основная директория приложения (конфигурации, логи, сессии). -
/data/nginx/— пользовательские конфигурации Nginx. -
/root/nginx/— файлы Docker Compose для прокси-сервера. -
/etc/docker/daemon.json— настройки демона Docker.
Процесс установки приложения¶
Развертывание выполняется с помощью установочного скрипта install.sh, который подготавливает окружение и запускает процесс автоматической настройки.
Основные этапы установки:¶
-
Подготовка системы: Установка необходимых системных утилит (
curl,git,sudo,vim,jqи др.) и обновление кэша пакетов. -
Настройка окружения Node.js: Установка Node.js (версия 22.x) и пакетного менеджера
pnpm. -
Создание пользователя: Создание системного пользователя
openclawс ограниченными правами доступа черезsudoers. -
Установка приложения:
-
В режиме release (по умолчанию): Установка глобально через
pnpm install -g openclaw@latest. -
В режиме development: Клонирование репозитория из GitHub, сборка из исходников (
pnpm build) и создание символьных ссылок в системные пути. -
Настройка безопасности: Настройка брандмауэра
UFW(разрешение SSH и HTTP/HTTPS) и установкаfail2banдля защиты от перебора паролей по SSH.
Права доступа и безопасность¶
Безопасность системы обеспечивается следующими механизмами:
-
Пользователь: Все процессы приложения работают от имени пользователя
openclaw. -
Брандмауэр (UFW):
-
Установлена политика запрета входящих соединений по умолчанию.
-
Настроена изоляция Docker через правила в
/etc/ufw/after.rules, чтобы предотвратить несанкционированный доступ к контейнерам извне. -
Защита SSH:
fail2banнастроен на блокировку IP-адресов после нескольких неудачных попыток входа. -
Автоматические обновления: Включен сервис
unattended-upgradesдля автоматической установки обновлений безопасности.
Базы данных¶
Приложение использует локальное хранилище сессий и данных, расположенное в домашней директории пользователя: /home/openclaw/.openclaw/. Конкретные настройки подключения к внешним БД (если требуются) настраиваются через конфигурационный файл config.yml.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса по защищенному протоколу HTTPS используется контейнерный прокси-сервер.
| Имя образа | Порты | Тома (volumes) | Переменные окружения | Политика перезапуска |
|---|---|---|---|---|
jonasal/nginx-certbot:6.2.0-nginx1.31.0 | 80, 443 (host mode) | - nginx_secrets:/etc/letsencrypt- /data/nginx/user_conf.d:/etc/nginx/user_conf.d- /data/nginx/letsencrypt:/var/www/letsencrypt | CERTBOT_EMAIL=hkadm@hostkey.com | unless-stopped |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Настройка окружения пользователя: В
.bashrcпользователяopenclawдобавляются пути к бинарным файламpnpm. -
Инициализация OpenClaw: После установки необходимо выполнить команду
openclaw onboard --install-daemon, которая создает основной файл конфигурации~/.openclaw/config.json. -
Настройка системного сервиса: Создается и активируется
systemdсервисopenclaw-gateway.serviceдля автоматического запуска приложения при загрузке системы.
Инструкция по обновлению приложения¶
Для обновления основного приложения используйте следующие команды в зависимости от режима установки:
-
Если установлена версия из npm (release):
-
Если используется режим разработки (development):
Расположение конфигурационных файлов и данных¶
| Тип файла | Путь |
|---|---|
| Основной конфиг приложения | /home/openclaw/.openclaw/config.yml |
| Конфигурация Nginx (прокси) | /data/nginx/user_conf.d/{domain}.conf |
| Логи приложения | /home/openclaw/.openclaw/logs/openclaw.log |
Доступные порты для подключения¶
-
80(HTTP) — перенаправляет на HTTPS. -
443(HTTPS) — основной порт веб-интерфейса управления. -
18789(TCP) — порт шлюза OpenClaw.
Запуск, остановка приложения¶
Управление приложением осуществляется через системный менеджер сервисов:
-
Запуск:
sudo systemctl start openclaw -
Остановка:
sudo systemctl stop openclaw -
Перезагрузка:
sudo systemctl restart openclaw -
Просмотр статуса:
openclaw statusилиsudo systemctl status openclaw -
Просмотр логов:
openclaw logsилиsudo journalctl -u openclaw -f