I built this because I got tired of finding out my containers had crashed hours after the fact. Now I get a Telegram message the moment something goes wrong, and I can fix it from my phone without opening the Unraid web UI. What It Does The bot connects to your Docker socket and watches for events, container crashes, health check failures, OOM kills. When something happens, you get a Telegram alert with the relevant details (exit code, how long it was running, etc.) and buttons to take action immediately. It also monitors your Unraid server itself via the GraphQL API, CPU temps, memory usage, array health, UPS status. If your CPU hits 80°C or a disk starts reporting SMART warnings, you'll know about it. Beyond just reacting to problems, it actively watches container logs for errors. You configure which containers to watch and what patterns to look for (defaults to things like "error", "exception", "fatal"). When it spots something, you get an alert with the error message. The AI Stuff The AI features are optional, the bot works fine without them, you just won't have access to /diagnose or natural language queries. Log Diagnosis (/diagnose) When a container is misbehaving, you can run /diagnose plex and it'll grab the recent logs, send them to Claude, and get back an analysis of what's likely wrong and how to fix it. It's surprisingly good at recognizing common issues like database locks, permission problems, network timeouts, memory pressure. Smart Ignore Patterns Say you're getting spammed with alerts about some deprecation warning that's harmless. Instead of manually writing a regex to filter it, you hit the "Ignore Similar" button on the alert. The bot sends the error text to Claude (using the cheap Haiku model) and asks it to generate a regex pattern that'll match this error and similar variations of it. Then it adds that pattern to your ignore list. Natural Language Chat Instead of remembering commands, you can just ask questions: "Is anything crashing?", "Why is sonarr using so much memory?", "Show me the last errors from radarr". The bot figures out what you're asking for and runs the appropriate commands. If you've been talking about a specific container, it remembers context so you can say "restart it" after discussing plex and it knows what you mean. You need an Anthropic API key for any of this. The cost is minimal, a few cents a month unless you're running diagnose constantly. Alert Examples 🔴 CONTAINER CRASHED: radarr
Exit code: 137 (OOM killed)
Image: linuxserver/radarr:latest
Uptime: 2h 34m
[🔄 Restart] [📋 Logs] [🔮 Diagnose]
[🔕 Mute 1h] [🔕 Mute 24h] The buttons actually work, tap Restart and it restarts the container. Tap Diagnose and it runs the AI analysis. Mute silences alerts for that container for the specified time (handy when you know something's broken and you're working on it). Available in Community Apps - search "Unraid Monitor Bot". - Coming soon Docker - https://hub.docker.com/r/dervish/unraidmonitorbot Github - https://github.com/dervish666/UnraidMonitor You'll need: Telegram Bot Token - Message https://t.me/BotFather, run /newbot, follow the prompts Your Telegram User ID - Message https://t.me/userinfobot, it'll tell you your numeric ID Optional: Anthropic API Key - For AI features. Sign up at console.anthropic.com Unraid API Key - For server monitoring (CPU/temps/array). Generate one in Settings → Management Access Configuration lives in /mnt/user/appdata/unraid-monitor/config/config.yaml. You can set which containers to watch for log errors, resource thresholds, protected containers that can't be controlled remotely, etc. Common Commands Command What it does /status Shows all your containers and their state /status plex Details for one container (partial names work) /resources CPU/memory usage across containers /logs radarr 50 Last 50 lines from radarr /diagnose sonarr AI analysis of sonarr's logs /restart plex Restarts plex (asks for confirmation) /server Unraid CPU, memory, temps /array Disk health, array status, parity /mute plex 2h No alerts from plex for 2 hours /manage