Repository navigation
Notifications
Notifications in the sidebar sends you a message when something in the stack needs you: a backup failed, an app went offline, a download is stuck, an arr can't import something, the disk is filling up. It works with Telegram, Discord, Slack, ntfy, Gotify, Pushover, Apprise (which reaches 100+ more services), email and a plain webhook.

- Add channel in the toolbar, pick the service, fill in its fields. Each field says where to find the value (a Telegram bot token from @BotFather, a Discord webhook from the channel's Integrations settings, …).
- Send a test. You get "wranglarr: test" on that service, or the error the service returned (with your token taken out of it).
- Tick the events you want under Send me (the usual picks the defaults below) and Save.
| Service | What it needs |
|---|---|
| Telegram | bot token, chat ID (yours, or a group's starting with -100), optional topic ID |
| Discord | a channel webhook URL |
| Slack | an incoming-webhook URL |
| ntfy | server (default https://ntfy.sh), topic, optional access token or user / password. On ntfy.sh anyone who knows the topic can read it: pick one that's hard to guess |
| Gotify | server and an app token |
| Pushover | user key and an app token |
| Apprise | an Apprise API server, and a saved config key or the Apprise URLs themselves |
| SMTP server, port, STARTTLS / TLS / none, optional login (Gmail and others want an app password), From, To (comma separated) | |
| Webhook | a URL; wranglarr POSTs {"event", "level", "title", "message", "at"} as JSON. Optional basic auth |
Passwords and tokens are never sent back to the browser: the form shows
••••••••, and saving with that left in place keeps the stored value.
| Event | On for a new channel | Sent when |
|---|---|---|
| A backup failed or is incomplete | yes | a backup job ends failed or partial |
| A backup finished | no | a backup succeeds |
| A restore finished or failed | yes | any restore ends |
| Container updates are available | yes | the update check finds new images (held containers left out) |
| Containers were updated | no | an update or rollback succeeds |
| A container update failed or was reverted | yes | an update fails, or the old container was put back |
| A newer wranglarr is out | yes | the update check finds a newer image for wranglarr's own container; once per new image, with the release notes and either Update now or the shell command (Keeping wranglarr itself up to date) |
| Connecting apps, shared settings or indexers failed | yes | one of those jobs ends failed or partial |
| An app's API key changed and wranglarr reconnected the apps using it | yes | a key changed in an app and another app had to be reconnected (API keys) |
| An app went offline (and came back) | yes | an app doesn't answer two checks in a row; again when it's back |
| An app has a new health warning | yes | a warning or error appears in an app's own System → Status |
| The VPN is down (and back up) | yes | gluetun isn't running, two checks in a row; again when it's back |
| Disk space is low | yes | a root folder of an arr, or the backup folder, has less free than the limit |
| A download is stalled or in error | yes | a download client reports an error, or a download has been stalled or waiting for metadata longer than the limit |
| An arr can't import a download and needs you | yes | an item in an arr's queue is blocked, failed or waits for a manual import |
| Someone was locked out of wranglarr after failed sign-ins | yes | the sign-in lockout triggers (Login) |
Job events go out as soon as the job ends. The rest come from a watcher that looks at the stack every few minutes. It remembers what it has sent, so each problem arrives once, not every round. Several new problems of one kind in the same round come as one message ("3 new health warnings"). An app's health warnings and queue items aren't sent again because the app was offline for a while.
The watcher only runs while at least one channel is on.
| Setting | Default | |
|---|---|---|
| Look every | 5 minutes | how often the watcher looks |
| Low disk | below 20 GB free | the limit for the arrs' root folders and the backup folder; 0 turns the check off |
| Stuck download | stalled for 60 minutes | how long a download may be stalled before you hear about it; 0 turns it off |
| Link in messages | blank | an address added to every message, e.g. https://wranglarr.example.com
|
Open right now lists what the watcher is tracking at the moment and whether it has been sent. Check now in the toolbar runs a round straight away. Sent is the log of the last 100 messages and how each channel answered.
A channel can also be added to Radarr's, Sonarr's, Lidarr's and Prowlarr's
own Settings → Connect, so the arrs send their grabs, imports, upgrades,
failed imports and health issues to the same place. Pick the arrs and the
events under Also in the arrs. wranglarr creates one entry called
wranglarr · <channel name> in each, using that arr's own fields for the
service, and the arr tests it before saving.
Changing the channel updates those entries; un-picking an arr, or deleting the channel, removes it again. Entries you made yourself in the arrs are never touched.
GET /api/notify services, events, channels (secrets masked), settings, open problems, log
POST /api/notify/channels {"kind":"telegram","name":"…","enabled":true,"config":{…},"events":[…],"arr":{"apps":[…],"events":[…]}}
PUT /api/notify/channels/{id} same body; "••••••••" keeps a stored secret
DELETE /api/notify/channels/{id} also removes it from the arrs
POST /api/notify/test {"channel":{…},"id":"…"} -> {"ok":true} or {"ok":false,"error":"…"}
PUT /api/notify/settings {"interval":5,"disk_free_gb":20,"stall_minutes":60,"link":""}
POST /api/notify/check one watcher round now
The save and delete answers include arrs: what was done in each arr
(created, updated, removed, none, or an error).
This wiki is built from wiki/ in the repo, and edits made here are replaced on the next build: change the page there instead. Also at https://wranglarrr.github.io/Wranglarr/.
Start here
- Overview
- Quickstart
- Setup
- Bringing in existing apps
- TrueNAS SCALE
- Environment variables
- Login
- App logins and AuthTunnel
- Security
Using wranglarr
- Dashboard, links and logins
- Notifications
- Live status
- Connections: media servers, Seerr
- Backups and restore
- Container updates
- Release notes
- Roadmap
- App connections
- Indexers
- Community configs
- Shared settings
Services
Networking
Reference