Обзор развертывания OpenClaw на сервере¶
Предварительные требования и базовые условия¶
Развертывание OpenClaw требует Linux-окружения с определенными зависимостями пакетов и правами пользователя. Система должна соответствовать следующим критериям:
-
Операционная система: Ubuntu (подтверждено через менеджер пакетов
apt). -
Привилегии: Для установки системных пакетов и управления службами требуются права root или привилегии
sudo. -
Необходимые пакеты:
-
ansible -
git -
Учетная запись пользователя: Создается выделенный системный пользователь с именем
openclaw, имеющий пароль и членство в группеsudo. -
Управление пакетами: Установщик временно отключает
unattended-upgrades, чтобы предотвратить конфликты в процессе установки, и повторно активирует его по завершении.
Структура файлов и каталогов¶
Приложение и его вспомогательные файлы организованы в конкретных директориях на хост-системе:
-
Директория установки:
/opt/openclaw-ansible -
Содержит клонированный репозиторий из
https://github.com/openclaw/openclaw-ansible.git. -
Включает скрипт выполнения
run-playbook.sh. -
Домашняя директория пользователя:
/home/openclaw -
Служит основной рабочей директорией для пользователя
openclaw. -
Содержит специфичные для пользователя конфигурации и переменные окружения.
-
Конфигурация окружения:
-
/home/openclaw/.profile: Настраивает переменную окруженияPNPM_HOMEи обновляетPATH. -
/etc/environment: Обновляет системныйPATHдля включения бинарных файлов OpenClaw. -
/etc/sudoers.d/openclaw-path: Настраиваетsecure_pathиenv_keepдля пользователяopenclaw, обеспечивая доступность бинарных файловpnpmво время операцийsudo.
Процесс установки приложения¶
Приложение OpenClaw устанавливается с помощью скрипта, который клонирует репозиторий и выполняет логику развертывания. Процесс включает следующие шаги:
-
Клонирование репозитория: Система клонирует или обновляет репозиторий OpenClaw из ветки
mainв/opt/openclaw-ansible. -
Установка зависимостей: Коллекции Ansible устанавливаются с помощью команды
ansible-galaxy collection install -r requirements.yml. -
Выполнение: Установка инициируется запуском скрипта
./run-playbook.shс повышенными привилегиями. -
Команда:
./run-playbook.sh -e ansible_become=true -
Рабочая директория:
/opt/openclaw-ansible -
Переменные окружения: Установщик работает с определенными ограничениями окружения для управления памятью и параллелизмом:
-
NODE_OPTIONS:--max-old-space-size=768 -
npm_config_jobs:2 -
npm_config_loglevel:warn -
CI:true -
PNPM_HOME:/home/openclaw/.local/share/pnpm -
Логика повторных попыток: Скрипт установки включает механизм повторных попыток (до 3 попыток с задержкой 30 секунд) для обеспечения успешного завершения.
Права доступа и безопасность¶
Конфигурации безопасности применяются к пользователю openclaw и системному окружению:
-
Создание пользователя: Пользователь
openclawсоздается с/bin/bashв качестве оболочки по умолчанию. -
Членство в группе: Пользователь добавляется в группу
sudoдля выполнения административных задач. -
Пароль: Для пользователя
openclawустанавливается пароль с использованием хеширования SHA512. -
Конфигурация Sudo:
-
secure_pathрасширяется для включения/home/openclaw/.local/share/pnpm/binи/home/openclaw/.local/bin. -
Переменные окружения
PNPM_HOMEиPATHсохраняются во время выполненияsudo. -
Блокировка менеджера пакетов: Установщик включает логику ожидания завершения или завершения процессов
apt,apt-get,dpkgиunattended-upgradeперед продолжением, предотвращая конфликты блокировки файлов.
Настройки разрешений¶
Разрешения на файлы и директории строго определены для обеспечения корректной работы приложения:
-
Домашняя директория:
/home/openclawпринадлежитopenclaw:openclawс режимом0755. -
Рекурсивное владение: Все файлы внутри
/home/openclawрекурсивно принадлежат пользователю и группеopenclaw. -
Файл профиля:
/home/openclaw/.profileустановлен в режим0644и принадлежитopenclaw:openclaw. -
Файл Sudoers:
/etc/sudoers.d/openclaw-pathустановлен в режим0440и принадлежитroot:root. -
Файл окружения:
/etc/environmentустановлен в режим0644и принадлежитroot:root. -
Скрипт выполнения: Скрипт
run-playbook.shполучает права на выполнение для пользователя (chmod u+x).
Запуск, остановка и обновление¶
Развертывание использует специальный скрипт для управления жизненным циклом установки и обновлений.
-
Команда обновления/запуска: Для выполнения развертывания или обновления приложения выполните следующую команду из директории установки:
-
Контекст окружения: Скрипт зависит от окружения пользователя
openclaw. Убедитесь, чтоPATHвключает бинарные файлыpnpm, расположенные в/home/openclaw/.local/share/pnpm/bin. -
После установки: После завершения установки служба
unattended-upgradesповторно активируется для поддержания обновлений безопасности системы.