ntfy โ
Send push notifications via ntfy โ a simple, topic-based notification service. Use the public ntfy.sh instance or self-host your own server.
Overview โ
- ๐ Public or Self-Hosted โ Use
ntfy.shfor free or run your own server - ๐ฌ Topic-Based โ Subscribe to any topic from any device
- ๐ท๏ธ Tags & Priorities โ Automatic emoji tags and priority levels based on event type
- ๐ฑ Multi-Platform โ Android, iOS, and web clients with push notifications
Configuration โ
| Field | Description | Default | Required |
|---|---|---|---|
| Server URL | ntfy server URL | https://ntfy.sh | โ |
| Topic | Notification topic name | โ | โ |
| Access Token | Bearer token (for protected topics) | โ | โ |
| Priority | Default message priority (1โ5) | 3 | โ |
Setup Guide โ
Option A: Use ntfy.sh (Public) โ
The quickest way โ no server setup needed:
- Choose a unique topic name (e.g.,
dbackup-myserver-alerts) - Subscribe to the topic on your device:
- Android: Install ntfy from F-Droid or Play Store โ Add topic
- iOS: Install ntfy from App Store โ Add topic
- Web: Open
https://ntfy.sh/your-topic-name
Public Topics
Anyone who knows your topic name can subscribe to it. Use a long, random topic name (e.g., dbackup-a8f3k2m9x) or use access tokens on a self-hosted instance.
Option B: Self-Host ntfy โ
Deploy ntfy using Docker:
# docker-compose.yml
services:
ntfy:
image: binwiederhier/ntfy
command: serve
ports:
- "8090:80"
volumes:
- ntfy-cache:/var/cache/ntfy
- ntfy-etc:/etc/ntfy
environment:
NTFY_BASE_URL: https://ntfy.example.com
volumes:
ntfy-cache:
ntfy-etc:Configure in DBackup โ
- Go to Notifications in the sidebar
- Click Add Notification
- Select ntfy
- Enter the Server URL (default:
https://ntfy.sh) - Enter the Topic name
- (Optional) Add an access token for protected topics
- (Optional) Adjust the default priority
- Click Test to verify
- Save
Test the Connection โ
Click Test to send a test notification. You should see a message appear on all subscribed devices.
Priority Levels โ
DBackup maps events to ntfy priorities automatically:
| Priority | Level | When Used |
|---|---|---|
| 1 | Min | โ |
| 2 | Low | Test notifications |
| 3 | Default | Successful backups (default) |
| 4 | High | โ |
| 5 | Max/Urgent | Failed backups (auto-escalated) |
Priority Behavior
- Successful backups use the configured default priority
- Failed backups automatically escalate to priority 5 (max)
- Test notifications use priority 2 (low)
Tags & Emoji โ
DBackup automatically adds emoji tags based on the event:
| Event | Tags | Emoji |
|---|---|---|
| Backup Success | white_check_mark, backup | โ |
| Backup Failure | x, warning, backup | โ โ ๏ธ |
| Other Events | backup | โ |
These tags are used by ntfy clients to display emoji icons alongside notifications.
Message Format โ
Notifications are sent as plain text with Markdown support:
Backup of "Production MySQL" completed successfully.
Job: Production MySQL
Duration: 12s
Size: 24.5 MB
Storage: AWS S3Authentication โ
Public ntfy.sh โ
No authentication needed โ just choose a unique topic name.
Self-Hosted with Access Control โ
If you've configured ntfy access control, generate an access token:
ntfy token add --user=dbackupThen paste the token into the Access Token field in DBackup.
Troubleshooting โ
"401 Unauthorized" or "403 Forbidden" โ
- Verify the access token is correct
- Check that the token has write permission to the topic
- Ensure the topic name matches exactly (case-sensitive)
"Connection refused" โ
- Ensure the ntfy server is running and accessible from the DBackup host
- Check firewall rules and Docker network configuration
- Verify the URL includes the correct port
Notifications not appearing on mobile โ
- Ensure the ntfy app is subscribed to the correct topic with the right server URL
- For self-hosted: verify the server's base URL is correctly configured
- Check that the topic name matches exactly (case-sensitive)
Using ntfy behind a reverse proxy โ
- Ensure WebSocket support is enabled in your reverse proxy
- Set the
NTFY_BASE_URLenvironment variable to match your public URL