Перейти к содержанию

Обзор развертывания 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, который подготавливает окружение и запускает процесс автоматической настройки.

Основные этапы установки:

  1. Подготовка системы: Установка необходимых системных утилит (curl, git, sudo, vim, jq и др.) и обновление кэша пакетов.

  2. Настройка окружения Node.js: Установка Node.js (версия 22.x) и пакетного менеджера pnpm.

  3. Создание пользователя: Создание системного пользователя openclaw с ограниченными правами доступа через sudoers.

  4. Установка приложения:

  5. В режиме release (по умолчанию): Установка глобально через pnpm install -g openclaw@latest.

  6. В режиме development: Клонирование репозитория из GitHub, сборка из исходников (pnpm build) и создание символьных ссылок в системные пути.

  7. Настройка безопасности: Настройка брандмауэра 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):

    sudo su - openclaw
    pnpm install -g openclaw@latest
    

  • Если используется режим разработки (development):

    cd /home/openclaw/code/openclaw
    git pull
    pnpm install
    pnpm build
    

Расположение конфигурационных файлов и данных

Тип файла Путь
Основной конфиг приложения /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

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×