forked from hornet/lainmonitor
telegram bot hosted on lainlounge servers for remote system monitoring
Outsourced hardcoded credentials into a single config file. Signed-off-by: hax <hax@lainlounge.org> |
||
|---|---|---|
| config.py | ||
| lainmonitor.py | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
LainMonitor
LainMonitor is a Telegram bot designed to monitor your system by providing real-time information about the system's status, services, and disk usage. It can also check connectivity to a specific Tailscale IP address.
Features
- Retrieve system hostname, uptime, and status of essential services such as:
- Zerotier
- Prosody
- PostgreSQL
- Tailscale
- Check disk usage
- Ping a Tailscale IP to verify connectivity
- Use via Telegram commands like
/status,/ping, and/help
Dependencies
- Telebot - A Python library for Telegram bot API.
Installation
-
Clone this repository:
git clone https://git.lainlounge.xyz/hornet/lainmonitor.git cd lainmonitor -
Install the required Python library:
pip install pyTelegramBotAPI -
Replace the placeholder in the code with your Telegram bot token:
TOKEN = 'PLACE_YOUR_TOKEN_HERE' -
Set up permissions for the bot to check system services (run as a user with
sudoaccess).
Usage
Running Directly
You can run the bot directly using Python:
python3 lainmonitor.py
Running as a Service
To run LainMonitor as a service, follow these steps:
- Create a systemd service file:
sudo nano /etc/systemd/system/lainmonitor.service - Add the following configuration:
[Unit] Description=LainMonitor Telegram Bot After=network.target [Service] ExecStart=/usr/bin/python3 /path/to/lainmonitor.py Restart=on-failure [Install] WantedBy=multi-user.target - Enable and start the service:
sudo systemctl enable lainmonitor sudo systemctl start lainmonitor
Telegram Bot Commands
/start: Initialize the bot and receive a welcome message./help: Display available commands./status: Get the system hostname, status, uptime, and the status of monitored services./ping: Ping a Tailscale IP and return the connectivity status./reboot: (Work in progress) Placeholder for a reboot command.
Author
Created by hornetmaidan
Feel free to contribute or suggest features!