Files
tg-admin-bot/README.md

2.3 KiB
Raw Permalink Blame History

tg-admin-bot

Telegram-бот администратора для Linux-серверов. Даёт быстрый доступ к статусам, бэкапам и операциям через чат.

Возможности

  • Docker: статус, рестарт, логи (tail, since, фильтр).
  • Arcane: список проектов, refresh, up/down, restart.
  • Бэкапы (restic): снапшоты, статистика репозитория, запуск бэкапа, очередь, restic check, weekly report.
  • Система: диски, безопасность, проверка URL, метрики, обновления, upgrade, reboot, железо, SSL (NPMplus).
  • Алерты: диск/нагрузка/SMART с cooldown и quiet hours.
  • Аудит: все нажатия и сообщения (ротация раз в неделю).
  • Логи: ротация логов бота и инциденты.

Требования

  • Linux-хост.
  • Python 3.11+ (проверено на 3.13).
  • Системные утилиты по необходимости:
    • docker
    • restic
    • smartctl (smartmontools)
    • sudo для reboot/upgrade/backup скриптов
    • systemd (для таймеров/статуса, желательно)

Установка

python -m venv .venv
source .venv/bin/activate
pip install -r req.txt

Настройка

  1. Скопировать пример:
cp config.example.yaml config.yaml
  1. Заполнить минимум:
  • telegram.token
  • telegram.admin_id
  1. Опционально:
  • путь к restic env (paths.restic_env)
  • docker autodiscovery или явный список docker.containers
  • Arcane и NPMplus API
  • аудит логов

Подробности в CONFIG.md.

Запуск

python bot.py

Лицензия

Copyright (C) 2026 benya

GNU GPL v3.0. Полный текст в LICENSE.

Примечания

  • Для NPMplus с self-signed TLS установи npmplus.verify_tls: false.
  • Бот использует sudo для части операций — настрой права.
  • Включи safety.dry_run, если хочешь безопасный режим без действий.
  • Аудит по умолчанию пишется в /var/server-bot/audit.log.