Skip to content

Gotify โ€‹

Send push notifications to your self-hosted Gotify server. Gotify is a lightweight, open-source push notification service โ€” perfect for home lab and self-hosted setups.

Overview โ€‹

  • ๐Ÿ  Self-Hosted โ€” Full control over your notification infrastructure
  • ๐Ÿ“Š Priority Levels โ€” Configurable priorities (0โ€“10) with automatic escalation on failures
  • ๐Ÿ“ Markdown Support โ€” Rich message formatting with structured fields
  • ๐Ÿ“ฑ Mobile Ready โ€” Android app with real-time push notifications

Configuration โ€‹

FieldDescriptionDefaultRequired
Server URLGotify server URL (e.g., https://gotify.example.com)โ€”โœ…
App TokenApplication token (from Gotify Apps)โ€”โœ…
PriorityDefault message priority (0โ€“10)5โŒ

Setup Guide โ€‹

1. Install Gotify โ€‹

If you don't have Gotify yet, deploy it using Docker:

yaml
# docker-compose.yml
services:
  gotify:
    image: gotify/server
    ports:
      - "8070:80"
    volumes:
      - gotify-data:/app/data
    environment:
      GOTIFY_DEFAULTUSER_NAME: admin
      GOTIFY_DEFAULTUSER_PASS: admin

volumes:
  gotify-data:

2. Create an Application Token โ€‹

  1. Open your Gotify web UI (e.g., http://gotify.example.com)
  2. Go to Apps tab
  3. Click Create Application
  4. Set a name (e.g., "DBackup")
  5. Copy the generated App Token

Token Security

The App Token is used to send messages only โ€” it cannot read or manage other applications. Keep it secret, but it has limited scope.

3. Configure in DBackup โ€‹

  1. Go to Notifications in the sidebar
  2. Click Add Notification
  3. Select Gotify
  4. Enter the Server URL and App Token
  5. (Optional) Adjust the default priority
  6. Click Test to verify
  7. Save

4. Test the Connection โ€‹

Click Test to send a test notification. You should see a message appear in your Gotify dashboard and on any connected clients.

Priority Levels โ€‹

DBackup maps events to Gotify priorities automatically:

PriorityLevelWhen Used
0Min (silent)โ€”
1โ€“3LowTest notifications
4โ€“7NormalSuccessful backups (default: 5)
8โ€“10HighFailed backups (auto-escalated)

Priority Behavior

  • Successful backups use the configured default priority
  • Failed backups automatically escalate to priority 8 (high)
  • Test notifications use priority 1 (low)

Message Format โ€‹

Notifications are sent as Markdown with structured fields:

## โœ… Backup Completed

Backup of "Production MySQL" completed successfully.

**Job:** Production MySQL
**Duration:** 12s
**Size:** 24.5 MB
**Storage:** AWS S3

Troubleshooting โ€‹

"401 Unauthorized" โ€‹

  • Verify the App Token is correct and hasn't been revoked
  • Check that the token belongs to an Application, not a Client

"Connection refused" โ€‹

  • Ensure the Gotify server is running and accessible from the DBackup host
  • Check firewall rules and Docker network configuration
  • Verify the URL includes the correct port (if not using a reverse proxy)

Notifications not appearing on mobile โ€‹

  • Ensure the Gotify Android app is connected and the WebSocket connection is active
  • Check that the priority is high enough for your client's notification settings
  • Some Android manufacturers aggressively kill background apps โ€” add Gotify to battery optimization exceptions

Resources โ€‹

Released under the GNU General Public License. | Privacy ยท Legal Notice