Установка через Ansible

Рекомендуемый способ развёртывания OpenClaw на продакшн-серверах — через openclaw-ansible — автоматизированный установщик с архитектурой, ориентированной на безопасность.

Быстрый старт

Установка одной командой:

curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash

📦 Полное руководство: github.com/openclaw/openclaw-ansible

Репозиторий openclaw-ansible — источник истины для развёртывания через Ansible. Эта страница — краткий обзор.

Что вы получите

  • 🔒 Безопасность в первую очередь: UFW + изоляция Docker (доступны только SSH + Tailscale)
  • 🔐 Tailscale VPN: Безопасный удалённый доступ без публичного раскрытия сервисов
  • 🐳 Docker: Изолированные контейнеры-песочницы, привязка только к localhost
  • 🛡️ Глубокая защита: 4-уровневая архитектура безопасности
  • 🚀 Настройка одной командой: Полное развёртывание за минуты
  • 🔧 Интеграция с systemd: Автозапуск при загрузке с усилением безопасности

Требования

  • ОС: Debian 11+ или Ubuntu 20.04+
  • Доступ: Root или привилегии sudo
  • Сеть: Подключение к интернету для установки пакетов
  • Ansible: 2.14+ (устанавливается автоматически скриптом быстрого старта)

Что будет установлено

Ansible playbook устанавливает и настраивает:

  1. Tailscale (mesh VPN для безопасного удалённого доступа)
  2. Брандмауэр UFW (только порты SSH + Tailscale)
  3. Docker CE + Compose V2 (для песочниц агентов)
  4. Node.js 22.x + pnpm (зависимости среды выполнения)
  5. OpenClaw (на хосте, не в контейнере)
  6. Служба Systemd (автозапуск с усилением безопасности)

Примечание: Шлюз работает напрямую на хосте (не в Docker), но песочницы агентов используют Docker для изоляции. См. Песочницы для подробностей.

Настройка после установки

После завершения установки переключитесь на пользователя openclaw:

sudo -i -u openclaw

Скрипт после установки проведёт вас через:

  1. Мастер onboarding: Настройка параметров OpenClaw
  2. Вход в провайдер: Подключение WhatsApp/Telegram/Discord/Signal
  3. Тестирование шлюза: Проверка установки
  4. Настройка Tailscale: Подключение к вашей VPN mesh

Быстрые команды

# Проверить статус службы
sudo systemctl status openclaw

# Смотреть логи в реальном времени
sudo journalctl -u openclaw -f

# Перезапустить шлюз
sudo systemctl restart openclaw

# Вход в провайдер (запустить как пользователь openclaw)
sudo -i -u openclaw
openclaw channels login

Архитектура безопасности

4-уровневая защита

  1. Брандмауэр (UFW): Только SSH (22) + Tailscale (41641/udp) открыты публично
  2. VPN (Tailscale): Шлюз доступен только через VPN mesh
  3. Изоляция Docker: Цепочка iptables DOCKER-USER предотвращает раскрытие внешних портов
  4. Усиление Systemd: NoNewPrivileges, PrivateTmp, непривилегированный пользователь

Проверка

Проверка внешней поверхности атаки:

nmap -p- YOUR_SERVER_IP

Должен показать только порт 22 (SSH) открытым. Все остальные сервисы (шлюз, Docker) заблокированы.

Доступность Docker

Docker установлен для песочниц агентов (изолированное выполнение инструментов), а не для запуска самого шлюза. Шлюз привязан только к localhost и доступен через Tailscale VPN.

См. Песочницы и инструменты мульти-агента для настройки песочниц.

Ручная установка

Если вы предпочитаете ручной контроль над автоматизацией:

# 1. Установить предварительные требования
sudo apt update && sudo apt install -y ansible git

# 2. Клонировать репозиторий
git clone https://github.com/openclaw/openclaw-ansible.git
cd openclaw-ansible

# 3. Установить коллекции Ansible
ansible-galaxy collection install -r requirements.yml

# 4. Запустить playbook
./run-playbook.sh

# Или запустить напрямую (затем вручную выполните /tmp/openclaw-setup.sh после)
# ansible-playbook playbook.yml --ask-become-pass

Обновление OpenClaw

Установщик Ansible настраивает OpenClaw для ручных обновлений. См. Обновление для стандартного процесса обновления.

Для повторного запуска Ansible playbook (например, для изменений конфигурации):

cd openclaw-ansible
./run-playbook.sh

Примечание: Это идемпотентно и безопасно запускать несколько раз.

Устранение неполадок

Брандмауэр блокирует моё подключение

Если вы заблокированы:

  • Убедитесь, что у вас есть доступ через Tailscale VPN сначала
  • SSH доступ (порт 22) всегда разрешён
  • Шлюз доступен только через Tailscale по дизайну

Служба не запускается

# Проверить логи
sudo journalctl -u openclaw -n 100

# Проверить права
sudo ls -la /opt/openclaw

# Тест ручного запуска
sudo -i -u openclaw
cd ~/openclaw
pnpm start

Проблемы с песочницей Docker

# Проверить, что Docker запущен
sudo systemctl status docker

# Проверить образ песочницы
sudo docker images | grep openclaw-sandbox

# Собрать образ песочницы, если отсутствует
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.sh

Не удаётся войти в провайдер

Убедитесь, что запускаете от имени пользователя openclaw:

sudo -i -u openclaw
openclaw channels login

Расширенная конфигурация

Для детальной архитектуры безопасности и устранения неполадок:

Связанное