navidrome: initial bundle
This commit is contained in:
parent
c905b7dc13
commit
b6cedd2bce
3 changed files with 166 additions and 0 deletions
77
bundles/navidrome/metadata.py
Normal file
77
bundles/navidrome/metadata.py
Normal file
|
@ -0,0 +1,77 @@
|
|||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'ffmpeg': {},
|
||||
'mpv': {},
|
||||
|
||||
},
|
||||
},
|
||||
'navidrome': {
|
||||
'config': {
|
||||
'DataFolder': '/var/opt/navidrome',
|
||||
'Address': '127.0.0.1',
|
||||
'MusicFolder': '/mnt/music',
|
||||
'EnableExternalServices': False,
|
||||
'LastFM.Enabled': False,
|
||||
'ListenBrainz.Enabled': False,
|
||||
'PasswordEncryptionKey': repo.vault.password_for('{} encryption navidrome'.format(node.name)),
|
||||
'Scanner.Schedule': '@every 72h',
|
||||
'Port': 4533,
|
||||
},
|
||||
},
|
||||
'zfs': {
|
||||
'datasets': {
|
||||
'tank/navidrome': {},
|
||||
'tank/navidrome/install': {
|
||||
'mountpoint': '/opt/navidrome',
|
||||
'needed_by': {
|
||||
'directory:/opt/navidrome',
|
||||
},
|
||||
},
|
||||
'tank/navidrome/home': {
|
||||
'mountpoint': '/var/opt/navidrome',
|
||||
'needed_by': {
|
||||
'directory:/var/opt/navidrome',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@metadata_reactor.provides(
|
||||
'navidrome/config/baseurl',
|
||||
)
|
||||
def baseurl(metadata):
|
||||
return {
|
||||
'navidrome': {
|
||||
'config': {
|
||||
'BaseUrl': f'https://{metadata.get('navidrome/domain')}',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@metadata_reactor.provides(
|
||||
'nginx/vhosts/navidrome',
|
||||
)
|
||||
def nginx(metadata):
|
||||
if not node.has_bundle('nginx'):
|
||||
raise DoNotRunAgain
|
||||
|
||||
return {
|
||||
'nginx': {
|
||||
'vhosts': {
|
||||
'navidrome': {
|
||||
'domain': metadata.get('navidrome/domain'),
|
||||
'locations': {
|
||||
'/': {
|
||||
'target': f'http://127.0.0.1:{metadata.get('navidrome/config/port')}',
|
||||
},
|
||||
},
|
||||
'website_check_path': '/user/login',
|
||||
'website_check_string': 'Sign in',
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue