feat: add Apprise sidecar user/admin notifications

This commit is contained in:
2026-02-25 22:54:18 +13:00
parent d045dd0b07
commit 1fe4a44eb5
9 changed files with 748 additions and 4 deletions

View File

@@ -27,6 +27,7 @@ const SECTION_LABELS: Record<string, string> = {
radarr: 'Radarr',
prowlarr: 'Prowlarr',
qbittorrent: 'qBittorrent',
apprise: 'Apprise',
log: 'Activity log',
requests: 'Request sync',
site: 'Site',
@@ -42,6 +43,7 @@ const URL_SETTINGS = new Set([
'radarr_base_url',
'prowlarr_base_url',
'qbittorrent_base_url',
'apprise_base_url',
])
const BANNER_TONES = ['info', 'warning', 'error', 'maintenance']
@@ -54,6 +56,7 @@ const SECTION_DESCRIPTIONS: Record<string, string> = {
radarr: 'Movie automation settings.',
prowlarr: 'Indexer search settings.',
qbittorrent: 'Downloader connection settings.',
apprise: 'Configure the external Apprise sidecar used for notifications.',
requests: 'Control how often requests are refreshed and cleaned up.',
log: 'Activity log for troubleshooting.',
site: 'Sitewide banner, version, and changelog details.',
@@ -67,6 +70,7 @@ const SETTINGS_SECTION_MAP: Record<string, string | null> = {
radarr: 'radarr',
prowlarr: 'prowlarr',
qbittorrent: 'qbittorrent',
apprise: 'apprise',
requests: 'requests',
cache: null,
logs: 'log',
@@ -366,6 +370,10 @@ export default function SettingsPage({ section }: SettingsPageProps) {
'qBittorrent server URL for download status (FQDN or IP). Scheme is optional.',
qbittorrent_username: 'qBittorrent login username.',
qbittorrent_password: 'qBittorrent login password.',
apprise_base_url:
'External Apprise API base URL for notifications (for example http://apprise:8000).',
apprise_api_key:
'Optional API key Magent uses when calling your external Apprise service.',
requests_sync_ttl_minutes: 'How long saved requests stay fresh before a refresh is needed.',
requests_poll_interval_seconds:
'How often Magent checks if a full refresh should run.',
@@ -393,6 +401,7 @@ export default function SettingsPage({ section }: SettingsPageProps) {
radarr_base_url: 'https://radarr.example.com or 10.30.1.81:7878',
prowlarr_base_url: 'https://prowlarr.example.com or 10.30.1.81:9696',
qbittorrent_base_url: 'https://qb.example.com or 10.30.1.81:8080',
apprise_base_url: 'http://apprise:8000 or https://notify.example.com',
}
const buildSelectOptions = (