Skip to content

Add notification system with NTFY support#1

Merged
kCn3333 merged 4 commits intomainfrom
feature/notifications
Nov 23, 2025
Merged

Add notification system with NTFY support#1
kCn3333 merged 4 commits intomainfrom
feature/notifications

Conversation

@kCn3333
Copy link
Owner

@kCn3333 kCn3333 commented Nov 23, 2025

feat: Add notification system with NTFY support

Implements flexible notification system for backup completion/failure alerts.
Supports multiple notification providers with easy extensibility.

Features:

  • NTFY integration with JSON API
  • URL format (scheme://user:pass@host/topic?params)
  • HTTP Basic Authentication support
  • HTTPS/HTTP configurable via query param
  • Emoji tags for visual categorization
  • Markdown-formatted messages
  • Per-backup notification control (notifyOnComplete flag)
  • Multiple notification services simultaneously
  • Graceful handling of missing/empty configuration
  • Async delivery with fail-safe error handling

Configuration:

  • notification.urls: List of notification URLs (optional)
  • notification.timeoutSeconds: HTTP timeout (default: 10)

Database:

  • Added notify_on_complete column to backup_configurations
  • Migration: V3__add_notify_on_complete.sql
  • Default: false (backward compatible)

Architecture:

  • NotificationService interface for extensibility
  • NtfyNotificationService implementation
  • NotificationListener for event handling
  • NotificationUrlParser for Shoutrrr format
  • NotificationMessageBuilder for formatting
  • RestTemplate-based HTTP client

Future-ready for:

  • Webhook support
  • Discord integration
  • Slack integration
  • Email notifications

@kCn3333 kCn3333 merged commit f466bfc into main Nov 23, 2025
2 checks passed
@kCn3333 kCn3333 deleted the feature/notifications branch November 23, 2025 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant