users = { 'navidrome': { 'home': '/opt/navidrome', }, } directories = { '/opt/navidrome': {}, '/var/opt/navidrome': { 'owner': 'navidrome', }, } svc_systemd = { 'navidrome': { 'needs': { 'file:/etc/systemd/system/navidrome.service', 'file:/opt/navidrome/config.toml', 'file:/opt/navidrome/navidrome', }, }, } files = { '/opt/navidrome/config.toml': { 'content': repo.libs.faults.dict_as_toml(node.metadata.get('navidrome/config')), 'triggers': { 'svc_systemd:navidrome:restart', }, }, '/etc/systemd/system/navidrome.service': { 'triggers': { 'action:systemd-reload', 'svc_systemd:navidrome:restart', }, }, '/opt/navidrome/navidrome': { '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': { 'svc_systemd:navidrome:restart', }, }, }