-
[Support] Unraid Monitor bot.
Unraid Monitor Bot v0.21.1 is out, and there's a lot in it since v0.17 I've been quiet on the thread for a bit while a fair few releases went out, so here's everything that's changed since v0.17, newest first. If you only read one section, read the memory one, because your bot has probably been lying to you about RAM. Just pull the latest image, nothing to reconfigure. v0.21.1 — memory readings were wrong If you ever looked at /server and thought "that can't be right", you were correct. The bot has been reporting memory usage of around 98% on servers that Unraid's own dashboard showed at 55%. The cause: Unraid's API gives out a "used" figure that counts the disk cache. Linux fills spare RAM with cache and hands it straight back the moment anything needs it, so counting it as used makes every well-used server look like it's about to fall over. My Tower showed 30.6 of 31.1 GB used when the honest figure was 17.4. /server now shows the real number, plus the reclaimable cache on its own line so "55% used but almost no free RAM" makes sense: Memory: 55.9% (17.4 of 31.1 GB)Disk cache: 16.2 GB (reclaimable) Worth saying: memory alerts were never affected. Those always used the percentage, which was correct. Only the gigabyte figure on screen was wrong. Nobody was getting false Memory Critical alerts because of this. v0.21.0 — UPS monitoring, over the network New, and the one I'd been putting off. The bot now reads your UPS from a NUT (Network UPS Tools) server. The important bit is "over the network". Earlier attempts at this went nowhere because Unraid's UPS data comes from apcupsd over a local USB cable, which is no use to a bot sitting in a container, and no use at all if your UPS has no data link. NUT talks over TCP, so the UPS can be on a different machine entirely. You get alerts for: Mains lost, with the battery percentage and how long you've got Back on mains, telling you how long you ran on battery Low battery, as its own louder alert Battery needs replacing, nagged once a day rather than every poll Overloaded, and on bypass (bypass means no battery protection at all) A runtime calibration doesn't alert. Calibration puts the UPS on battery deliberately, so treating it as an outage would just be noise. New /ups command shows model, status, battery, runtime left, load and input voltage. /ups detailed dumps every variable your UPS reports. It's on by default, but it stays quiet. If there's no NUT server for it to talk to, it logs one line and never bothers you. Most installs don't have a UPS and shouldn't get messaged about one. Turn it off entirely in /manage → Features if you'd rather. Setup gotcha, and this will be the number one question: upsd only listens on 127.0.0.1 by default, which a container can't reach. Add this to upsd.conf and restart it: LISTEN 0.0.0.0 3493Then check from another machine with upsc myups@your-nut-host. If the bot can't reach your NUT server it says unavailable and tells you why, rather than showing a UPS it can't read as healthy. Full setup steps are in the README. Honesty note: I don't have a working UPS data link myself yet, so this has been tested against a stand-in server rather than real hardware. If you run it against a real NUT setup, I'd genuinely like to hear how it goes. v0.20.0 — parity syncs are no longer reported as disk failures This one was a real false alarm and I'm sorry if it caught you. During a parity sync or a disk rebuild, the target disk legitimately reports as invalid until it finishes. The bot was alerting on that, so a routine parity check would send you "Parity Disk Problem" while Unraid's own log calmly said "Parity Sync 25% completed". Now it reads the parity status and reports progress instead. The suppression is deliberately narrow: a genuinely disabled disk still alerts during a sync, and a disk still faulty after the sync alerts then. You also get told when the operation finishes, is cancelled, or fails, which never used to happen. Also new: Unraid's own notifications in Telegram. Opt-in relay of the feed behind the bell icon in the web UI, so SMART warnings, disk errors, share-full warnings and parity results land in the same place as everything else. One place to look instead of two. Off by default, and floored at WARNING when you turn it on, because that feed carries a lot of routine chatter. /manage → Features → 🔔 enables it, and a second button cycles how chatty it's allowed to be (WARNING, ALERT only, or everything including INFO). The level applies instantly. It primes on first run rather than dumping your existing backlog into the chat. v0.19.0 — four buttons that didn't work An audit of every inline button turned up four that were reachable from a normal install and did nothing, or the wrong thing, during exactly the incidents they exist for: Array threshold options failed after saving. You'd tap a new threshold, it would save, and then the button would spin forever with no reply. The value had already changed. Stop buttons on memory alerts did nothing unless memory management was enabled, even though the alert showed them regardless. "Re-mute 1h" muted for 60 hours. Minutes and seconds got crossed. "Re-mute 24h" hit the 30-day cap. /pull silently dropped nvidia GPU access. Your container came back healthy and no longer transcoding, and the rollback couldn't undo it because it reused the same broken config. Intel QuickSync was fine; nvidia wasn't. Plus: Type / and commands now autocomplete, built from what your install actually has enabled, so it never offers something your setup can't do /manage panels have Back and Refresh. Status, Resources, Server and Disks used to be one-way doors Failures are visible. A handler that crashes now replies instead of going quiet, and no button can spin forever v0.18.1 — security aiohttp CVE ignores all dropped. aiogram lifted its version cap, so the real fix was available instead of a suppression list. CI's dependency audit now runs with no exceptions at all, and blocks the build if anything turns up. v0.18.0 — memory pressure, more useful Memory warnings list your top 5 memory users, largest first, across all running containers rather than just the killable ones. Stop buttons are sorted the same way, so the biggest win is the top button. New restart list. For containers that hog RAM but give it back after a bounce (Plex, classically), you get a one-tap 🔄 Restart as the gentle alternative to stopping. Pick them in /manage → Features → 🧠 Configure memory restarts. Applies live, no restart needed. v0.17.0 — memory figures on the buttons Kill buttons show how much RAM each container is actually using, so you can free the most first When a container is stopped you're told how much it was using and what the system is at now A note on how the memory bug was found I asked the bot for a status update in the form of a fairy tale, because I was curious whether it would play along. It did, and somewhere in the story it said "30.8 of 31.1 gigabytes occupied by the bustling townsfolk". That looked wrong, I checked the dashboard, and it was. Unit tests, strict type checking and five full code audits had all passed over that bug, because every one of them checked the code against itself. Making it explain its own numbers in plain English caught it in about a minute. I'll be doing that more often. Bugs, questions and "this doesn't work on my setup" all welcome. Source and full changelog: https://github.com/dervish666/UnraidMonitor
-
[Support] Unraid Monitor bot.
What's new since v0.9.3 (→ v0.17.0) Been a busy few months — here are the headlines since the last update. Manage Dashboard + Features Panel — /manage is now a full control panel: status, resources, server, disks, ignores and mutes, plus a ⚙️ Features section to switch features on and off right from Telegram — no config file editing. Image-Update Alerts — opt-in daily check that tells you when a container has a newer image available, each with a one-tap Pull button. Auto-Heal — opt-in: containers that report unhealthy get restarted automatically, with a storm guard that gives up (and says so) instead of looping forever. Protected containers are never touched. Memory Pressure Management — when the server runs low on RAM the bot warns you and can stop low-priority containers to protect the important ones. The Stop buttons now show each container's RAM use, and you're told how much was freed after a kill. Tune Alerts From the Buttons — server CPU temperature/usage and array capacity/disk-temperature alerts now carry Mute (1h/24h) and Adjust-Threshold buttons, and the new threshold sticks — no restart needed. Smarter AI — choose a model family (sonnet/haiku/opus, auto-resolved to the latest) or a different model per feature (chat/diagnose/analyze); /diagnose now reads the container's full state and knows which alert fired, for much better root-cause answers; replies render bold and code properly; and the assistant will happily give you the status as a captain's log or a haiku — using real numbers. Health in the Unraid Dashboard — the bot now reports healthy/unhealthy in docker ps and the Unraid UI via a built-in HEALTHCHECK — no port mapping needed. Reliability — boot-time alerts are retried instead of lost if Telegram hiccups, explicit API timeouts so a slow model can't stall the bot, tests and dependency-CVE scanning run in CI on every change, plus a stack of security hardening.
-
[Support] Unraid Monitor bot.
What's new since launch (Feb 10 → v0.9.3) Setup Wizard — First-run setup is now fully guided via Telegram. Auto-detects your Unraid server and classifies containers. Run /setup any time to reconfigure. Multi-Provider AI — Now supports OpenAI and Ollama alongside Anthropic. Switch with /model. Works fine with no AI keys at all. Inline Buttons Everywhere — Confirmations, diagnostics, ignore selection, and the manage dashboard all use tap-friendly buttons instead of text replies. Multi-User Alerts — Alerts now go to all authorised users, not just the last active one. New Alerts — Container recovery notifications, Docker health check alerts, restart loop detection (5+ crashes in 10 min), and mute expiry notifications. /health Command — Bot version, uptime, monitor statuses, and Unraid connection at a glance. Reliability — Unraid auto-reconnect, atomic config writes, log storm protection, thread safety fixes, graceful shutdown, and security hardening.
-
[Support] Unraid Monitor bot.
It's live, just force an update and it should update
-
[Support] Unraid Monitor bot.
No, in the chat. it will walk you through setting up the server then list your docker containers and allow you to add them to the watched, killable, priority etc lists. If you already have the config it will allow you to adjust the settings. You can type /help at any point in the chat to get a help page.
-
[Support] Unraid Monitor bot.
I have added a /setup command to help with configuration. If there is no config.yaml it will run a wizard to get you up and running quickly. You can also run the /setup command at any time to re-configure the container monitoring.
-
[Support] Unraid Monitor bot.
Yes, sorry, I have updated the xml and docker with the correct permissions.
-
[Support] Unraid Monitor bot.
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
dervish
Members
-
Joined
-
Last visited