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

Установка и запуск за 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