diff --git a/navidrome/CHANGELOG.md b/navidrome/CHANGELOG.md index 8638f80e6..3fe63b0ad 100644 --- a/navidrome/CHANGELOG.md +++ b/navidrome/CHANGELOG.md @@ -1,14 +1,30 @@ +## 0.52.5-7 (20-08-2024) + +- Reduced access to media to read-only as write permissions are not required https://www.navidrome.org/docs/usage/security/#permissions +- Set the web UI link to use the default port +- Make config options work by splitting default values and schemas +- Exclude the cache from backups +- Expose more Navidrome config options +- Explicitly export shell variables for Navidrome to pick up + ## 0.52.5-6 (17-08-2024) + - Gave access to /media + ## 0.52.5-5 (16-08-2024) + - Minor bugs fixed + ## 0.52.5-4 (14-08-2024) + - Minor bugs fixed ## 0.52.5-3 (13-07-2024) + - Add rootfs to docker image ## 0.52.5-2 (22-05-2024) + - Minor bugs fixed ## 0.52.5 (22-05-2024) diff --git a/navidrome/config.json b/navidrome/config.json index d90435c3a..23f5354b1 100644 --- a/navidrome/config.json +++ b/navidrome/config.json @@ -3,13 +3,16 @@ "amd64", "aarch64" ], + "backup_exclude": [ + "**/cache/**" + ], "codenotary": "alexandrep.github@gmail.com", "description": "Navidrome for Home Assistant", "image": "ghcr.io/alexbelgium/navidrome-{arch}", "init": false, "map": [ "addon_config:rw", - "media:rw", + "media", "share:rw", "ssl:rw" ], @@ -17,15 +20,10 @@ "options": { "base_url": "localhost", "certfile": "fullchain.pem", - "cifsdomain": "str?", - "cifspassword": "str?", - "cifsusername": "str?", - "data_folder": "/data/data", + "data_folder": "/data", "keyfile": "privkey.pem", - "localdisks": "str?", "log_level": "info", "music_folder": "/data/music", - "networkdisks": "str?", "ssl": false }, "ports": { @@ -34,9 +32,33 @@ "ports_description": { "4533/tcp": "Web interface" }, + "schema": { + "base_url": "str", + "certfile": "str?", + "cifsdomain": "str?", + "cifspassword": "str?", + "cifsusername": "str?", + "data_folder": "str", + "default_language": "str?", + "image_cache_size": "str?", + "keyfile": "str?", + "lastfm_api_key": "str?", + "lastfm_secret": "str?", + "localdisks": "str?", + "log_level": "str", + "music_folder": "str", + "networkdisks": "str?", + "password_encryption_key": "str?", + "scan_schedule": "str?", + "spotify_id": "str?", + "spotify_secret": "str?", + "ssl": "bool", + "transcoding_cache_size": "str?", + "welcome_message": "str?" + }, "slug": "navidrome", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons/tree/master/navidrome", - "version": "0.52.5-6", - "webui": "[PROTO:ssl]://[HOST]:[PORT:8080]" + "version": "0.52.5-7", + "webui": "[PROTO:ssl]://[HOST]:[PORT:4533]" } diff --git a/navidrome/rootfs/etc/cont-init.d/99-run.sh b/navidrome/rootfs/etc/cont-init.d/99-run.sh index e9b92ced7..8e0813568 100755 --- a/navidrome/rootfs/etc/cont-init.d/99-run.sh +++ b/navidrome/rootfs/etc/cont-init.d/99-run.sh @@ -6,13 +6,63 @@ set -e # https://www.navidrome.org/docs/usage/configuration-options/#available-options ND_MUSICFOLDER=$(bashio::config 'music_folder') +export ND_MUSICFOLDER + ND_DATAFOLDER=$(bashio::config 'data_folder') +export ND_DATAFOLDER + ND_LOGLEVEL=$(bashio::config 'log_level') +export ND_LOGLEVEL + ND_BASEURL=$(bashio::config 'base_url') +export ND_BASEURL + if bashio::config.true 'ssl'; then bashio::log.info "ssl is enabled" ND_TLSCERT=$(bashio::config 'certfile') + export ND_TLSCERT ND_TLSKEY=$(bashio::config 'keyfile') + export ND_TLSKEY +fi +if bashio::config.has_value 'default_language'; then + ND_DEFAULTLANGUAGE=$(bashio::config 'default_language') + export ND_DEFAULTLANGUAGE +fi +if bashio::config.has_value 'image_cache_size'; then + ND_IMAGECACHESIZE=$(bashio::config 'image_cache_size') + export ND_IMAGECACHESIZE +fi +if bashio::config.has_value 'lastfm_api_key'; then + ND_LASTFM_APIKEY=$(bashio::config 'lastfm_api_key') + export ND_LASTFM_APIKEY +fi +if bashio::config.has_value 'lastfm_secret'; then + ND_LASTFM_SECRET=$(bashio::config 'lastfm_secret') + export ND_LASTFM_SECRET +fi +if bashio::config.has_value 'password_encryption_key'; then + ND_PASSWORDENCRYPTIONKEY=$(bashio::config 'password_encryption_key') + export ND_PASSWORDENCRYPTIONKEY +fi +if bashio::config.has_value 'scan_schedule'; then + ND_SCANSCHEDULE=$(bashio::config 'scan_schedule') + export ND_SCANSCHEDULE +fi +if bashio::config.has_value 'spotify_id'; then + ND_SPOTIFY_ID=$(bashio::config 'spotify_id') + export ND_SPOTIFY_ID +fi +if bashio::config.has_value 'spotify_secret'; then + ND_SPOTIFY_SECRET=$(bashio::config 'spotify_secret') + export ND_SPOTIFY_SECRET +fi +if bashio::config.has_value 'transcoding_cache_size'; then + ND_TRANSCODINGCACHESIZE=$(bashio::config 'transcoding_cache_size') + export ND_TRANSCODINGCACHESIZE +fi +if bashio::config.has_value 'welcome_message'; then + ND_UIWELCOMEMESSAGE=$(bashio::config 'welcome_message') + export ND_UIWELCOMEMESSAGE fi @@ -23,4 +73,3 @@ fi bashio::log.info "Please wait while the app is loading!" /app/navidrome -