59 lines
1.5 KiB
Python
59 lines
1.5 KiB
Python
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',
|
|
'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')),
|
|
'triggers': {
|
|
'svc_systemd:navidrome:restart',
|
|
},
|
|
},
|
|
'/etc/systemd/system/navidrome.service': {
|
|
'triggers': {
|
|
'action:systemd-reload',
|
|
'svc_systemd:navidrome:restart',
|
|
},
|
|
},
|
|
'/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',
|
|
},
|
|
},
|
|
}
|