Notifications
Send Docker Manager's messages to chat, email, push apps or a webhook.
A notification channel is a destination for Docker Manager's messages about alerts and finished backups, restores, prunes and updates: a Discord or Slack channel, Microsoft Teams, Telegram, email, ntfy, Gotify, Pushover, Matrix, a webhook of your own, or any other service Shoutrrr supports. The built-in In App channel chooses what Notices, the bell at the top of Docker Manager, shows. Only the owner can see and change channels.
Add a channel
- Open Settings → Notifications and press Add Channel.
- Enter a Name and choose the Service.
- Fill in what the service asks for (see What each service needs).
- If you have several environments, choose All Environments or Some Environments.
- Press Add Channel, or Add and Send Test to send a test message right away. Docker Manager may ask you to confirm it's you first.
A new channel sends everything; choose what under What to Send. A channel that is not Turned On gets nothing but test messages.
What to Send
What to Send on Settings → Notifications has a column per channel, In App first, and a row per kind of event with its outcomes below it. A filled bell sends the event through that channel. The bell of a kind turns all its outcomes on or off; it is half filled when only some are on.
- Press the bells you want to change.
- Press Save What to Send, or Discard to undo them.
Every channel must send at least one event.
| Row | Outcomes |
|---|---|
| Disk Health, RAID, Temperature, Disk Space, Memory | Warning, Critical, Resolved |
| Environment Offline | Offline, Back Online |
| Backups | Failure (also backups out of date, a scheduled backup that was refused or couldn't start, backups paused because no repository is Primary or after Docker Manager was restored, or a different repository at a repository's location), Warning (some files couldn't be read or an item was removed before its turn, a scheduled backup was missed or skipped, the retention after a backup couldn't start, backups were removed from the list because two checks in a row didn't find them, a check didn't find most backups of a repository, or a verification, retention or import partly failed or was interrupted), Success |
| Restores | Failure, Success |
| Prune | Failure, Success |
| Image Updates | Available (a check found newer images), Failure, Applied |
| Other Jobs | Failure, Warning (partly failed or interrupted, or a restored stack's deploy couldn't be started), Resolved |
| New Users | Joined (someone used an invite link) |
Backups, restores, prunes and updates are reported however they were started. Other jobs are reported only when a schedule or an API token started them and they fail. They use the row of their area: Backups for a backup verification, retention or import, Image Updates for an update check, and Other Jobs for the rest, such as a deploy started with an API token. For every restore, however it was started, Other Jobs also gets the warning that a stack restored with Deploy … Afterwards couldn't be deployed. When such a job's next run succeeds, a channel that got the failure gets a Resolved message.
If Docker Manager loses track of a restore, for example because its environment went offline or restarted while it ran, the first message says its outcome is unknown and asks you to check that the containers it stopped run and to wait for the next message before you run it again. Once Docker Manager finds out from the environment, it sends a second Restores message: the data was put back, it was put back but some containers may not run, the data wasn't changed, or the outcome is still unknown.
How messages look
A message starts with its row and outcome under What to Send, for example Disk Health · Critical. Then come a title such as "Disk /dev/sda is failing", what to do, and the numbers with links to the server, stack and services. It ends with Open in Docker Manager and your Docker Manager's Name (Settings → General, under About This Docker Manager).
- When a problem is gone, the title starts with Resolved:.
- Several messages at once arrive as one summary.
- An email's subject starts with the environment's name in brackets when
it is about one environment, for example
[homelab] Disk /dev/sda is failing. - If a channel can't be reached, Docker Manager tries again for a day.
Choose what the bell shows
The In App channel is always first. It shows its events in Notices for everyone who may see them, instead of sending them out. It starts with everything, and it can't be renamed, tested or deleted.
- Under What to Send, set the bells of the In App column and press Save What to Send. Notices changes at once, also for earlier events.
- To show only some environments, or to turn it off, press Edit in its menu in the channel list. When it is Off, Notices shows only the jobs you start yourself.
Send a test
Press Send Test in the message that confirms the new channel, in the
channel's menu or in its Edit dialog. A message tells you that it was
sent, or what failed and what to check. A test email's subject starts
with [Test].
The Status column shows the last result: Working, Failing (with the reason below it and Send Test to try again), Not Tested or Off.
View or change a channel
- Open the channel's menu and press Edit.
- The address is stored encrypted. Press Show Address to see and change it; Docker Manager asks you to confirm it's you, and the audit log records every time it is shown.
- Change what you need and press Save Changes.
Choosing another Service replaces the address. To delete a channel, press Delete in its menu.
What each service needs
| Service | What to enter |
|---|---|
| Discord | The channel's Webhook URL (Edit channel → Integrations → Webhooks) |
| Slack | An incoming webhook's Webhook URL |
| Microsoft Teams | The Workflow URL of a Power Automate workflow started by "When a Teams webhook request is received" |
| Telegram | The Bot Token from @BotFather and the Chats (chat IDs or @channel names) |
| Email (SMTP) | Your mail server's SMTP Server, Port and Encryption, a Username and Password if it needs a login, the From and To addresses and, if you like, a From Name (the sender's name, Docker Manager unless you change it) |
| ntfy | The Server (ntfy.sh or your own) and a Topic; a login for a server with access control |
| Gotify | The Server and an Application Token |
| Pushover | Your User Key and an application's API Token |
| Matrix | The Homeserver, a Username (not needed with an access token), the Password or Access Token and, if you like, the Rooms (empty sends to every room the account joined) |
| Webhook | The Webhook URL; Docker Manager sends JSON with title and message, or plain text |
| Other (Shoutrrr URL) | The service's Shoutrrr URL, for example bark://… |
Good to know:
- Messages leave from Docker Manager's server, so the service must be reachable from there, not only from your browser.
- On
ntfy.shanyone who knows a topic can read it: pick a hard-to-guess one. - Discord messages keep the name and avatar you gave the webhook in Discord.
- You can send one test message per channel every 5 seconds.
- If a test fails, see Troubleshooting.