diff --git a/bundles/navidrome/items.py b/bundles/navidrome/items.py index 60e4c04..d51f2cc 100644 --- a/bundles/navidrome/items.py +++ b/bundles/navidrome/items.py @@ -21,9 +21,7 @@ svc_systemd = { } actions['navidrome_install'] = { - 'command': ' && '.join([ - 'tar -C /opt/navidrome -xf /opt/navidrome/navidrome.tar.gz', - ]), + 'command': 'tar -C /opt/navidrome -xf /opt/navidrome/navidrome.tar.gz', 'after': { 'pkg_apt:', }, @@ -41,6 +39,12 @@ files = { }, }, '/etc/systemd/system/navidrome.service': { + 'triggers': { + 'action:systemd-reload', + }, + 'delete': True, + }, + '/usr/local/lib/systemd/system/navidrome.service': { 'triggers': { 'action:systemd-reload', 'svc_systemd:navidrome:restart', diff --git a/bundles/navidrome/metadata.py b/bundles/navidrome/metadata.py index 4151c51..9aa6936 100644 --- a/bundles/navidrome/metadata.py +++ b/bundles/navidrome/metadata.py @@ -8,15 +8,15 @@ defaults = { }, 'navidrome': { 'config': { - 'DataFolder': '/var/opt/navidrome', 'Address': '127.0.0.1', - 'MusicFolder': '/mnt/music', + 'DataFolder': '/var/opt/navidrome', 'EnableExternalServices': False, + 'EnableInsightsCollector': False, 'LastFM.Enabled': False, 'ListenBrainz.Enabled': False, 'PasswordEncryptionKey': repo.vault.password_for('{} encryption navidrome'.format(node.name)), - 'Scanner.Schedule': '@every 72h', 'Port': 4533, + 'Scanner.Schedule': '@every 72h', }, }, 'zfs': { @@ -75,3 +75,23 @@ def nginx(metadata): }, }, } + + +@metadata_reactor.provides( + 'icinga2_api/navidrome/services', +) +def icinga_check_for_new_release(metadata): + version = metadata.get('navidrome/version') + return { + 'icinga2_api': { + 'pretalx': { + 'services': { + 'NAVIDROME UPDATE': { + 'command_on_monitored_host': '/usr/local/share/icinga/plugins/check_github_for_new_release navidrome/navidrome {}'.format(version), + 'vars.notification.mail': True, + 'check_interval': '60m', + }, + }, + }, + }, + }