- Prepend server label + public IP to all Telegram messages (multi-server support)
- Configurable server label via menu option 8 (defaults to hostname)
- Wall-clock aligned report scheduling with configurable start hour
- Start hour selection in both interval menu and setup wizard
- Markdown-escape server label in both main and standalone scripts
- Preserve start hour and server label on wizard cancel/failure paths
New features:
- Uptime tracking with availability % in reports
- Alert system (CPU/RAM >90%, all containers down, zero peers 2h)
- Daily and weekly summary reports with bandwidth/peers/uptime stats
- Telegram bot commands (/status, /peers, /help)
- Toggle menu for alerts, daily/weekly summaries (options 5-7)
- Health check: tracker service, tcpdump, GeoIP, data validation
- Cumulative data log rotation with monthly archives (3-month retention)
Improvements:
- Smart restart: only recreate containers when settings change
- Stopped containers resumed with docker start instead of recreate
- Upgrade path regenerates Telegram script automatically
- Update conduit backs up tracker data and refreshes Telegram service
- Daily/weekly summary timestamps persist across service restarts
Bug fixes:
- Empty container list no longer triggers docker stats on all host containers
- process_commands recovers from malformed Telegram API responses
- Tracker service stopped before data backup to prevent write races
- Docker logs calls wrapped with timeout to prevent hangs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix [s] Start in container menu to resume stopped containers with
docker start instead of docker run (name already in use error)
- Add safety check in run_conduit_container() to remove existing
containers before docker run to prevent conflicts
- Fix [t] Stop and [x] Restart to check exit codes and show accurate status
- Add warning in main menu Start (option 5) when recreating stopped containers