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

Установка и запуск за 5 минут

Системные требования

Минимальные

  • Ubuntu 22.04+
  • Python 3.10+
  • 1 GB RAM
  • 10 GB Disk
Совет

Для мультисерверного управления с 10+ нодами рекомендуется выделить отдельный VPS под бота с 4 GB RAM.

Подготовка

  1. Получите токен бота Напишите @BotFather и создайте нового бота командой /newbot
  2. Узнайте свой Telegram ID Отправьте любое сообщение @userinfobot — он вернет ваш ID
  3. Подготовьте сервер Установите необходимые пакеты командой ниже
sudo apt update && sudo apt install -y curl git

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

Запустите универсальный скрипт установки:

bash <(wget -qO- https://raw.githubusercontent.com/jatixs/tgbotvpscp/main/deploy.sh)

Выберите режим установки:

Root Mode

Полный доступ: перезагрузка сервера, системные логи (journalctl), оптимизация, Fail2Ban, SSH-мониторинг

Сравнение режимов

Secure: CPU/RAM/Disk мониторинг, Docker, systemd-сервисы, веб-панель, ноды
Root добавляет: reboot/shutdown, journalctl, sysctl-оптимизация, Fail2Ban, SSH-логи, apt upgrade

После выбора режима введите:

  • Bot Token — токен от @BotFather
  • Admin User ID — ваш Telegram ID
Готово!

Бот запущен! API и веб-интерфейс доступны на http://YOUR_IP:8080

Подключение удаленных серверов

Добавление нод для мультисерверного управления

На главном боте:

1
Откройте меню нод Ноды в главном меню
2
Создайте новую ноду Добавить ноду → имя
3
Скопируйте токен Сохраните для следующего шага

На удаленном сервере:

bash <(wget -qO- https://raw.githubusercontent.com/jatixs/tgbotvpscp/main/deploy.sh)

Выберите 7) Установить НОДУ (Клиент) и введите:

  • URL агента: http://MAIN_IP:8080
  • Токен ноды
Автоматическая установка

Можно передать параметры сразу:
bash <(wget -qO- .../deploy.sh) --agent=http://IP:8080 --token=TOKEN

Успех!

Нода появится в списке через несколько секунд. Вы можете мониторить состояние ноды в одном окне/чате!

Веб-интерфейс

Доступ и использование веб-панели управления

Доступ к веб-панели

http://YOUR_SERVER_IP:8080
Авторизация

HTTP: Ваш Telegram ID + пароль из установщика, или Magic Link из бота
HTTPS: Виджет Telegram (при привязке домена к боту в BotFather)

Как узнать свой Telegram ID?

Через @userinfobot или в боте: Управление → Пользователи → Мой ID

Основные функции панели

  • Графики CPU/RAM/Disk
  • Список всех нод
  • Настройки оповещений
  • Менеджер сервисов
  • История уведомлений
  • Управление пользователями
Мобильная версия

Веб-интерфейс полностью адаптирован для мобильных устройств. Управляйте сервером с телефона!

Конфигурация

Настройка и персонализация бота

Основные настройки (.env)

# Telegram Bot
BOT_TOKEN=your_bot_token
ADMIN_ID=your_telegram_id

# Web Server
WEB_PORT=8080
SECRET_KEY=auto_generated

# Database
DATABASE_URL=sqlite:///data/database.db

# Security
ENABLE_WAF=true
ENABLE_RATE_LIMIT=true
MAX_LOGIN_ATTEMPTS=5
Автоматическая конфигурация

Большинство настроек генерируются автоматически при установке. Редактируйте .env только при необходимости.

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

Можно изменить в веб-интерфейсе Settings → Alerts Config:

  • CPU: 80%
  • RAM: 90%
  • Disk: 85%
  • ⏱️ Интервал: 30 сек
Умные оповещения

Бот отправляет алерты только при превышении порогов и автоматически уведомляет, когда ситуация нормализовалась.

Безопасность

Управление доступом и защита системы

Смена пароля веб-интерфейса

1
Откройте настройки Настройки → Блок «Безопасность».
2
Заполните форму Будьте очень внимательны!
3
Нажмите «Сменить пароль» Пароль успешно сменён
Безопасность

Никогда не используйте стандартный пароль admin в продакшене! Смените его сразу после первого входа.

Управление пользователями

Добавление нового пользователя через Telegram:

1
Откройте меню Управление → Пользователи
2
Добавьте Добавить → Telegram ID
3
Назначьте роль Админы или Пользователи

Роли и права

Root Полный доступ ко всем функциям, включая управление пользователями
Админы Управление сервисами, мониторинг, настройка оповещений
Пользователи Только просмотр информации и статистики

Обслуживание

Мониторинг, обновление и резервное копирование

Просмотр логов

Docker:

docker logs tg-bot

Systemd:

sudo journalctl -u tg-bot -f

Перезапуск бота

Docker:

docker restart tg-bot

Systemd:

sudo systemctl restart tg-bot

Обновление до новой версии

cd /opt/tg-bot
git pull origin main
docker-compose down && docker-compose up -d --build
Автообновления

Встроено прямо из Telegram-бот!

Резервное копирование

Важные файлы для бэкапа:

/opt/tg-bot/.env Конфигурация бота
/opt/tg-bot/data/database.db База данных
/opt/tg-bot/data/configs/ Зашифрованные конфиги
Регулярный бэкап

Настройте cron-задачу для автоматического резервного копирования этих файлов на внешнее хранилище.

Решение проблем

Часто встречающиеся проблемы и их решения

Бот не запускается

  • Проверьте правильность BOT_TOKEN
  • Убедитесь, что порт 8080 свободен: sudo netstat -tulpn | grep 8080
  • Проверьте логи: docker logs tg-bot

Нода не подключается

  • Проверьте доступность агента: curl http://AGENT_IP:8080/health
  • Убедитесь, что токен правильный
  • Проверьте firewall на агенте

Веб-интерфейс недоступен

  • Проверьте, что бот запущен: docker ps
  • Откройте порт 8080 в firewall: sudo ufw allow 8080/tcp
  • Попробуйте через localhost: http://localhost:8080

Нет оповещений

  • Проверьте настройки Alerts Config в веб-панели
  • Убедитесь, что бот не заблокирован в Telegram
  • Проверьте пороговые значения (CPU/RAM/Disk)

Нужна помощь?

Не нашли ответ в документации? Сообщество всегда готово помочь!
Задайте вопрос в Discussions или сообщите о баге в Issues