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

Рекомендуемый способ развёртывания OpenClaw на production-серверах — 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: изолированные sandbox-контейнеры, привязка только к localhost
  • Эшелонированная защита: 4 уровня безопасности
  • Установка одной командой: полное развёртывание за несколько минут
  • Интеграция с systemd: автозапуск при загрузке с hardening-настройками

Требования

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

Что устанавливается

Ansible-плейбук устанавливает и настраивает:

  1. Tailscale (mesh-VPN для безопасного удалённого доступа)
  2. Файрвол UFW (только порты SSH + Tailscale)
  3. Docker CE + Compose V2 (для sandbox-контейнеров агентов)
  4. Node.js 24 + pnpm (зависимости среды выполнения; Node 22 LTS, сейчас 22.16+, по-прежнему поддерживается)
  5. OpenClaw (установка на хост, не в контейнер)
  6. Systemd-сервис (автозапуск с security-hardening)

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

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

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

sudo -i -u openclaw

Скрипт пост-установки поможет пройти следующие шаги:

  1. Мастер настройки: конфигурация параметров OpenClaw
  2. Подключение провайдеров: WhatsApp/Telegram/Discord/Signal
  3. Тестирование шлюза: проверка работоспособности
  4. Настройка Tailscale: подключение к VPN-сети

Полезные команды

# Проверить статус сервиса
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-сеть
  3. Изоляция Docker: цепочка DOCKER-USER в iptables блокирует внешний доступ к портам
  4. Hardening systemd: NoNewPrivileges, PrivateTmp, непривилегированный пользователь

Проверка

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

nmap -p- YOUR_SERVER_IP

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

Docker

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

Подробнее — Multi-Agent Sandbox & Tools.

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

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

# 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. Запустить плейбук
./run-playbook.sh

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

Обновление OpenClaw

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

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

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-sandbox

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

# Проверить образ sandbox
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

Дополнительная настройка

Подробнее об архитектуре безопасности и решении проблем:

Связанные материалы