Установка через 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 устанавливает и настраивает:
- Tailscale (mesh VPN для безопасного удалённого доступа)
- Брандмауэр UFW (только порты SSH + Tailscale)
- Docker CE + Compose V2 (для песочниц агентов)
- Node.js 22.x + pnpm (зависимости среды выполнения)
- OpenClaw (на хосте, не в контейнере)
- Служба Systemd (автозапуск с усилением безопасности)
Примечание: Шлюз работает напрямую на хосте (не в Docker), но песочницы агентов используют Docker для изоляции. См. Песочницы для подробностей.
Настройка после установки
После завершения установки переключитесь на пользователя openclaw:
sudo -i -u openclaw
Скрипт после установки проведёт вас через:
- Мастер onboarding: Настройка параметров OpenClaw
- Вход в провайдер: Подключение WhatsApp/Telegram/Discord/Signal
- Тестирование шлюза: Проверка установки
- Настройка 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-уровневая защита
- Брандмауэр (UFW): Только SSH (22) + Tailscale (41641/udp) открыты публично
- VPN (Tailscale): Шлюз доступен только через VPN mesh
- Изоляция Docker: Цепочка iptables DOCKER-USER предотвращает раскрытие внешних портов
- Усиление 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
Расширенная конфигурация
Для детальной архитектуры безопасности и устранения неполадок:
Связанное
- openclaw-ansible — полное руководство по развёртыванию
- Docker — настройка контейнеризованного шлюза
- Песочницы — конфигурация песочниц агентов
- Песочницы и инструменты мульти-агента — изоляция для каждого агента