From 53c658c5d8dfc2b01549a38f753820cc95e6f0ff Mon Sep 17 00:00:00 2001 From: Sophie Schiller Date: Wed, 16 Apr 2025 18:10:26 +0200 Subject: [PATCH] navidrome: unpack action --- bundles/navidrome/items.py | 18 ++++++++++++++++-- bundles/navidrome/metadata.py | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/bundles/navidrome/items.py b/bundles/navidrome/items.py index 84e4e29..60e4c04 100644 --- a/bundles/navidrome/items.py +++ b/bundles/navidrome/items.py @@ -15,11 +15,24 @@ svc_systemd = { 'needs': { 'file:/etc/systemd/system/navidrome.service', 'file:/opt/navidrome/config.toml', - 'file:/opt/navidrome/navidrome', + 'action:navidrome_install', }, }, } +actions['navidrome_install'] = { + 'command': ' && '.join([ + 'tar -C /opt/navidrome -xf /opt/navidrome/navidrome.tar.gz', + ]), + 'after': { + 'pkg_apt:', + }, + 'triggered': True, + 'triggers': { + 'svc_systemd:navidrome:restart', + }, +} + files = { '/opt/navidrome/config.toml': { 'content': repo.libs.faults.dict_as_toml(node.metadata.get('navidrome/config')), @@ -33,12 +46,13 @@ files = { 'svc_systemd:navidrome:restart', }, }, - '/opt/navidrome/navidrome': { + '/opt/navidrome/navidrome.tar.gz': { 'content_hash': node.metadata.get('navidrome/sha1', None), 'content_type': 'download', 'mode': '0755', 'source': f'https://github.com/navidrome/navidrome/releases/download/v{node.metadata.get('navidrome/version')}/navidrome_{node.metadata.get('navidrome/version')}_linux_amd64.tar.gz', 'triggers': { + 'action:navidrome_install', 'svc_systemd:navidrome:restart', }, }, diff --git a/bundles/navidrome/metadata.py b/bundles/navidrome/metadata.py index 4eeebb5..4151c51 100644 --- a/bundles/navidrome/metadata.py +++ b/bundles/navidrome/metadata.py @@ -66,7 +66,7 @@ def nginx(metadata): 'domain': metadata.get('navidrome/domain'), 'locations': { '/': { - 'target': f'http://127.0.0.1:{metadata.get('navidrome/config/port')}', + 'target': f'http://127.0.0.1:{metadata.get('navidrome/config/Port')}', }, }, 'website_check_path': '/user/login',