Files
tg-admin-bot/README.md

74 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 (для таймеров/статуса, желательно)
## Установка
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r req.txt
```
## Настройка
1. Скопировать пример:
```bash
cp config.example.yaml config.yaml
```
2. Заполнить минимум:
- `telegram.token`
- `telegram.admin_id`
3. Опционально:
- путь к restic env (`paths.restic_env`)
- docker autodiscovery или явный список `docker.containers`
- Arcane и NPMplus API
- аудит логов
Подробности в `CONFIG.md`.
## Запуск
```bash
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`.