Развёртывание OpenClaw на VPS для работы 24/7
Пошаговый гайд по установке OpenClaw на виртуальный сервер: выбор VPS, настройка Ubuntu, Node.js, Docker, systemd, nginx, SSL, файрвол, мониторинг, бэкапы и оценка стоимости.
Тип материала: research
Зачем разворачивать OpenClaw на VPS
Локальная установка OpenClaw на ноутбук или домашний компьютер имеет ограничение: агент работает только когда компьютер включён и подключён к интернету. Закрыли крышку ноутбука -- агент остановился. Пропал интернет -- автоматизации не выполняются. Для надёжной работы 24/7 нужен сервер, который доступен круглосуточно.
VPS (Virtual Private Server) -- оптимальный вариант. Это виртуальная машина в дата-центре с гарантированным аптаймом, стабильным интернетом и фиксированным IP-адресом. OpenClaw на VPS работает непрерывно: выполняет cron-задания, обрабатывает вебхуки, отвечает на сообщения в Telegram -- даже когда ваш ноутбук выключен.
Выбор VPS-провайдера
OpenClaw не требует мощного сервера -- основная вычислительная нагрузка лежит на LLM-провайдере (OpenAI, Anthropic, Google). Сам агент потребляет минимум ресурсов. Минимальные требования:
CPU: 1-2 ядра. OpenClaw -- однопоточное приложение, одного ядра достаточно для базовой работы. Два ядра -- если планируете мультиагентную систему.
RAM: 2 ГБ минимум, 4 ГБ рекомендуется. Основное потребление -- Node.js runtime и хранение контекста в памяти.
Диск: 20 ГБ SSD. Логи, память агента, конфигурации. SSD обязателен -- OpenClaw активно читает и пишет на диск.
Трафик: 1-2 ТБ в месяц. Запросы к LLM API, вебхуки, Telegram -- всё это текстовый трафик, объём минимальный.
Проверенные провайдеры (ценовой ориентир на март 2026):
Hetzner -- от 4 евро/месяц (CX22: 2 vCPU, 4 ГБ RAM, 40 ГБ SSD). Дата-центры в Германии и Финляндии. Отличное соотношение цена/качество.
DigitalOcean -- от $6/месяц (Basic: 1 vCPU, 1 ГБ RAM, 25 ГБ SSD). Простой интерфейс, хорошая документация.
Contabo -- от 5 евро/месяц. Больше ресурсов за меньшие деньги, но поддержка слабее.
AWS Lightsail -- от $5/месяц. Если вы уже в экосистеме AWS.
Начальная настройка сервера
Шаг 1: Подключение и обновление системы
# Подключение к серверу
ssh root@your-server-ip
# Обновление системы (Ubuntu 24.04 LTS рекомендуется)
apt update && apt upgrade -y
# Установка базовых утилит
apt install -y curl wget git htop ufw fail2banШаг 2: Создание непривилегированного пользователя
Никогда не запускайте OpenClaw от root. Создайте отдельного пользователя:
# Создание пользователя
adduser openclaw
usermod -aG sudo openclaw
# Настройка SSH-ключа для нового пользователя
mkdir -p /home/openclaw/.ssh
cp ~/.ssh/authorized_keys /home/openclaw/.ssh/
chown -R openclaw:openclaw /home/openclaw/.ssh
chmod 700 /home/openclaw/.ssh
chmod 600 /home/openclaw/.ssh/authorized_keys
# Отключение входа по паролю (только SSH-ключи)
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshdШаг 3: Установка Node.js
OpenClaw работает на Node.js 20 LTS или выше:
# Установка Node.js 20 LTS через NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
apt install -y nodejs
# Проверка версии
node --version # v20.x.x
npm --version # 10.x.xШаг 4: Установка Docker (опционально)
Docker нужен, если вы планируете запускать навыки в изолированных контейнерах или использовать Docker-версию OpenClaw:
# Установка Docker
curl -fsSL https://get.docker.com | sh
usermod -aG docker openclaw
# Проверка
docker --version
docker run hello-worldУстановка OpenClaw
# Переключаемся на пользователя openclaw
su - openclaw
# Установка OpenClaw глобально
npm install -g @openclaw/core @openclaw/cli
# Проверка установки
openclaw --version
# Инициализация проекта
mkdir ~/openclaw-agent && cd ~/openclaw-agent
openclaw init
# Структура после инициализации:
# ~/openclaw-agent/
# config.yaml -- основная конфигурация
# SOUL.md -- поведение агента
# USER.md -- информация о пользователе
# skills/ -- установленные навыки
# memory/ -- база памяти
# logs/ -- логиКонфигурация
# config.yaml
agent:
name: "my-assistant"
model: "claude-sonnet-4-20250514" # или другая модель
server:
host: "127.0.0.1" # ТОЛЬКО localhost
port: 18789
llm:
provider: "anthropic"
api_key: "${ANTHROPIC_API_KEY}"
telegram:
enabled: true
token: "${TELEGRAM_BOT_TOKEN}"
allowed_users: [123456789] # ваш Telegram ID
memory:
path: "./memory"
logging:
level: "info"
file: "./logs/agent.log"
max_size: "100M"
retention: "30d"Запуск как systemd-сервис
Systemd обеспечивает автоматический запуск OpenClaw при загрузке сервера, перезапуск при падении и управление логами:
# Создание systemd unit-файла
sudo tee /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw AI Agent
After=network.target
[Service]
Type=simple
User=openclaw
Group=openclaw
WorkingDirectory=/home/openclaw/openclaw-agent
ExecStart=/usr/bin/node /usr/lib/node_modules/@openclaw/core/server.js
Restart=always
RestartSec=10
Environment=NODE_ENV=production
EnvironmentFile=/home/openclaw/.env
# Лимиты ресурсов
LimitNOFILE=65536
MemoryMax=2G
CPUQuota=150%
# Безопасность
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/openclaw/openclaw-agent
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# Активация и запуск
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
# Проверка статуса
sudo systemctl status openclawФайл переменных окружения
# /home/openclaw/.env
ANTHROPIC_API_KEY=sk-ant-...
TELEGRAM_BOT_TOKEN=...
OPENAI_API_KEY=sk-...
GITHUB_TOKEN=ghp_...
HA_TOKEN=...
# Защита файла
chmod 600 /home/openclaw/.env
chown openclaw:openclaw /home/openclaw/.envОбратный прокси с nginx
Nginx нужен, если вы хотите принимать вебхуки от внешних сервисов (GitHub, Stripe, Telegram). Nginx обрабатывает SSL, проксирует запросы к OpenClaw и обеспечивает дополнительный уровень безопасности:
# Установка nginx
sudo apt install -y nginx
# Конфигурация
sudo tee /etc/nginx/sites-available/openclaw << 'EOF'
server {
listen 80;
server_name openclaw.your-domain.com;
# Редирект на HTTPS (после настройки SSL)
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name openclaw.your-domain.com;
# SSL-сертификаты (Let's Encrypt)
ssl_certificate /etc/letsencrypt/live/openclaw.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/openclaw.your-domain.com/privkey.pem;
# Безопасные SSL-настройки
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Ограничение доступа к вебхукам
location /webhook/ {
proxy_pass http://127.0.0.1:18789;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Лимит запросов
limit_req zone=webhooks burst=10 nodelay;
}
# Блокируем всё остальное
location / {
return 403;
}
}
EOF
# Активация
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxSSL/TLS с Let's Encrypt
Бесплатные SSL-сертификаты от Let's Encrypt -- стандарт для серверов:
# Установка Certbot
sudo apt install -y certbot python3-certbot-nginx
# Получение сертификата
sudo certbot --nginx -d openclaw.your-domain.com
# Автообновление (certbot добавляет cron автоматически)
sudo certbot renew --dry-run # проверкаНастройка файрвола
# Базовая настройка ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Разрешить SSH
sudo ufw allow 22/tcp
# Разрешить HTTP и HTTPS (для nginx)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# НЕ открывать порт 18789 -- OpenClaw доступен только через nginx
# Активация
sudo ufw enable
sudo ufw status verboseДополнительно настройте fail2ban для защиты от брутфорс-атак на SSH:
# fail2ban уже установлен, настроим jail для SSH
sudo tee /etc/fail2ban/jail.local << 'EOF'
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
EOF
sudo systemctl restart fail2banМониторинг и логи
Просмотр логов
# Логи systemd
sudo journalctl -u openclaw -f # в реальном времени
sudo journalctl -u openclaw --since "1 hour ago" # за последний час
# Логи приложения
tail -f /home/openclaw/openclaw-agent/logs/agent.log
# Логи nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.logМониторинг ресурсов
Настройте простой мониторинг, который уведомит вас в Telegram, если сервер перегружен:
# /home/openclaw/scripts/health-check.sh
#!/bin/bash
CPU=$(top -bn1 | grep 'Cpu(s)' | awk '{print $2}')
MEM=$(free | awk '/Mem:/ {printf "%.1f", $3/$2 * 100}')
DISK=$(df -h / | awk 'NR==2 {print $5}' | tr -d '%')
ALERT=""
if (( $(echo "$CPU > 80" | bc -l) )); then
ALERT+="CPU: ${CPU}%\n"
fi
if (( $(echo "$MEM > 85" | bc -l) )); then
ALERT+="RAM: ${MEM}%\n"
fi
if [ "$DISK" -gt 90 ]; then
ALERT+="Disk: ${DISK}%\n"
fi
# Проверка, что OpenClaw запущен
if ! systemctl is-active --quiet openclaw; then
ALERT+="OpenClaw is DOWN!\n"
fi
if [ -n "$ALERT" ]; then
curl -s -X POST "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d chat_id="YOUR_CHAT_ID" \
-d text="Server Alert:\n${ALERT}"
fi# Добавление в cron (каждые 5 минут)
crontab -e
# Добавить строку:
*/5 * * * * /home/openclaw/scripts/health-check.shАвтоматический перезапуск при падении
Systemd уже настроен на автоматический перезапуск (Restart=always в unit-файле). Если процесс OpenClaw падает, systemd перезапустит его через 10 секунд (RestartSec=10). Но стоит добавить watchdog-проверку:
# /home/openclaw/scripts/watchdog.sh
#!/bin/bash
# Проверяем, что OpenClaw отвечает
HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:18789/health)
if [ "$HTTP_CODE" != "200" ]; then
echo "$(date): OpenClaw health check failed (HTTP $HTTP_CODE), restarting..." \
>> /home/openclaw/openclaw-agent/logs/watchdog.log
sudo systemctl restart openclaw
fi
# Cron: каждые 2 минуты
# */2 * * * * /home/openclaw/scripts/watchdog.shСтратегия бэкапов
Критически важно бэкапить память агента и конфигурации. Без бэкапов потеря сервера означает потерю всей истории взаимодействий и настроек.
# /home/openclaw/scripts/backup.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/home/openclaw/backups"
mkdir -p $BACKUP_DIR
# Бэкап памяти, конфигов и SOUL.md
tar -czf $BACKUP_DIR/openclaw-$DATE.tar.gz \
/home/openclaw/openclaw-agent/memory/ \
/home/openclaw/openclaw-agent/config.yaml \
/home/openclaw/openclaw-agent/SOUL.md \
/home/openclaw/openclaw-agent/USER.md \
/home/openclaw/openclaw-agent/skills/
# Удаление бэкапов старше 30 дней
find $BACKUP_DIR -name '*.tar.gz' -mtime +30 -delete
# Опционально: копирование на внешнее хранилище
# rclone copy $BACKUP_DIR/openclaw-$DATE.tar.gz remote:backups/openclaw/
echo "$(date): Backup completed" >> $BACKUP_DIR/backup.log
# Cron: ежедневно в 3:00
# 0 3 * * * /home/openclaw/scripts/backup.shОценка стоимости
Итоговая стоимость работы OpenClaw на VPS складывается из двух компонентов: аренда сервера и расходы на LLM API.
Аренда VPS: $4-12 в месяц в зависимости от провайдера и конфигурации. Для одного агента достаточно самого дешёвого тарифа. Для мультиагентной системы (4-5 агентов) -- средний тариф.
LLM API: зависит от интенсивности использования и выбранной модели. Ориентировочно: Claude Sonnet 4 -- $3 за 1 млн входных токенов, $15 за 1 млн выходных. При 50 запросах в день средней длины -- $30-80 в месяц. При 200 запросах -- $100-300.
Домен и SSL: домен -- $10-15 в год. SSL от Let's Encrypt -- бесплатно.
Итого: минимальная конфигурация (VPS + умеренное использование API) -- $35-50 в месяц. Продвинутая (мощный VPS + интенсивное использование) -- $100-350 в месяц.
Усиление безопасности для продакшена
# Дополнительные меры безопасности
# 1. Автоматические обновления безопасности
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# 2. Смена порта SSH (опционально)
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
sudo systemctl restart sshd
# 3. Ограничение sudo
echo 'openclaw ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart openclaw, /usr/bin/systemctl status openclaw' \
| sudo tee /etc/sudoers.d/openclaw
# 4. Аудит-лог всех команд
sudo apt install -y auditd
sudo auditctl -a always,exit -F arch=b64 -S execve -F uid=1001 -k openclaw-commandsЧеклист перед запуском
Перед тем как считать деплой завершённым, пройдите по контрольному списку:
Безопасность: SSH только по ключам. Пароль отключён. fail2ban настроен. ufw активен. OpenClaw привязан к 127.0.0.1. Порт 18789 закрыт снаружи. Секреты в .env с правами 600. OpenClaw запущен от непривилегированного пользователя.
Надёжность: systemd с автоперезапуском. Watchdog-скрипт. Бэкапы по расписанию. Мониторинг с алертами в Telegram.
Доступность: nginx настроен. SSL-сертификат получен. Вебхуки принимаются. Telegram-бот отвечает.
Итоги
Развёртывание OpenClaw на VPS -- это одноразовая процедура, которая занимает 1-2 часа. После настройки сервер работает автономно: агент отвечает на сообщения, выполняет автоматизации и обрабатывает вебхуки 24/7. Стоимость -- от $35 в месяц. Главное -- не пренебрегать безопасностью: закрыть порты, настроить файрвол, использовать непривилегированного пользователя и хранить секреты в переменных окружения.
Хотите получать подобные материалы раньше?
Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.
Узнать про IntelligenceНе пропускайте важное
Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.
Как начать пользоваться Midjourney: генерация картинок AI
Midjourney — самый популярный AI-генератор изображений. Фотореализм, арт, иллюстрации, логотипы. Показываем, как начать — от регистрации до первой картинки.
Как установить Ollama: запуск AI-моделей на своём компьютере
Ollama — самый простой способ запустить AI-модели локально. Llama, Mistral, Qwen, DeepSeek — всё работает на вашем компьютере, без интернета, бесплатно и приватно.
Как начать пользоваться ChatGPT: пошаговая инструкция для Mac, Windows, iPhone и Android
Регистрация, установка, первый запрос — всё, что нужно, чтобы начать общаться с самой популярной нейросетью в мире. Без технических знаний, за 5 минут.