Skip to content

LeTamanoir/antenne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Antenne

A Python daemon that monitors the host and sends daily reports + threshold alerts via Telegram.

Features

  • 🌡️ NVMe and HDD temperatures
  • 💾 Disk usage for movies, TV, and system drives
  • 🧠 RAM usage
  • 🖥️ CPU usage
  • ⚠️ Instant alerts when thresholds are crossed
  • 📅 Daily digest report at a configurable time (default 8:00)
  • 📩 Immediate report on daemon startup
  • 📬 On-demand report with graphs via /rapport command (accepts optional duration like /rapport 7d)

Setup

1. Configure environment

Create a .env file with at minimum your Telegram credentials. All other values have sensible defaults — see the configuration table below.

2. Add the service to your docker-compose.yml

antenne:
  image: ghcr.io/letamanoir/antenne:latest
  restart: unless-stopped
  env_file: /opt/antenne/.env
  volumes:
    - antenne-data:/app/data
    - /mnt/movies:/mnt/movies:ro
    - /mnt/tv:/mnt/tv:ro
  devices:
    - /dev/nvme0:/dev/nvme0
    - /dev/sda:/dev/sda
    - /dev/sdb:/dev/sdb
  cap_add:
    - SYS_RAWIO
    - SYS_ADMIN

volumes:
  antenne-data:

3. Start it

docker compose up -d antenne

The container runs as a daemon: sends a report on startup, then again daily at 8:00 by default, with continuous alert monitoring (all configurable via env vars). You can also trigger an on-demand report with graphs by sending /rapport (accepts optional duration like /rapport 7d, /rapport 24h).

Configuration

All values are configurable via environment variables.

Variable Default Description
TELEGRAM_TOKEN Telegram bot token
TELEGRAM_CHAT_ID Telegram chat ID
REPORT_NAME 🐜 Antenne Name shown in the report header
NVME_DEVICES /dev/nvme0:NVMe Comma-separated device:label pairs
HDD_DEVICES /dev/sda:HDD sda,/dev/sdb:HDD sdb Comma-separated device:label pairs
DISK_MOUNTS /mnt/movies:Movies Drive,/mnt/tv:TV Drive,/:System Disk Comma-separated path:label pairs
NVME_WARN_TEMP 70 NVMe warning threshold (°C)
NVME_CRIT_TEMP 80 NVMe critical threshold (°C)
HDD_WARN_TEMP 45 HDD warning threshold (°C)
HDD_CRIT_TEMP 50 HDD critical threshold (°C)
DISK_WARN_PERCENT 80 Disk usage warning threshold (%)
DISK_CRIT_PERCENT 90 Disk usage critical threshold (%)
RAM_WARN_PERCENT 85 RAM usage warning threshold (%)
REPORT_HOUR 8 Hour of day for the daily report (0–23)
REPORT_MINUTE 0 Minute of the hour for the daily report (0–59)
METRICS_INTERVAL_SECONDS 10 How often to collect metrics for graphs (seconds)
REPORT_TEMPS true Include disk temperatures in the report
REPORT_DISK true Include disk usage in the report
REPORT_RAM true Include RAM usage in the report
DB_PATH /app/data/antenne.db Path to SQLite database for metrics history
DEFAULT_GRAPH_DURATION 24h Default time window for graphs (e.g. 24h, 7d, 30m)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors