Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| services:navidrome [2024/07/30 11:47] – willy | services:navidrome [2025/10/14 08:47] (current) – [Navidrome] willy | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| [[https:// | [[https:// | ||
| + | |||
| + | This will be integrated with SSO using Authelia. | ||
| + | |||
| + | For automatic music scan, to create dynamic and automatic playlists, check out [[services: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| Line 26: | Line 30: | ||
| ND_LOGLEVEL: | ND_LOGLEVEL: | ||
| ND_SESSIONTIMEOUT: | ND_SESSIONTIMEOUT: | ||
| - | ND_BASEURL: "/navidrome" | + | ND_BASEURL: "" |
| + | ND_REVERSEPROXYWHITELIST: | ||
| volumes: | volumes: | ||
| - "/ | - "/ | ||
| Line 32: | Line 37: | ||
| </ | </ | ||
| - | You need to adapt UID/GID, paths to music collection and port. Also, check the BASEURL. | + | You need to adapt UID/GID, paths to music collection and port. |
| + | ND_REVERSEPROXYWHITELIST must list the subnet associated to your NGINX reverse proxy as seen from the Navidrome container. The provided IP range should be enough for a default Podman installation. | ||
| ===== Reverse Proxy ===== | ===== Reverse Proxy ===== | ||
| - | The following NGINX configuration will proxy your navidrome | + | I choose |
| + | |||
| + | This example also include the Authelia integration. | ||
| <file - navidrome.conf> | <file - navidrome.conf> | ||
| - | location ^~ / | + | server |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| + | |||
| + | | ||
| - | location | + | include " |
| - | | + | |
| - | proxy_pass http://127.0.0.1: | + | |
| - | proxy_set_header Host $host; | + | |
| - | proxy_set_header X-Real-IP $remote_addr; | + | |
| - | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | + | |
| - | proxy_set_header X-Forwarded-Proto $scheme; | + | |
| - | proxy_set_header X-Forwarded-Protocol $scheme; | + | |
| - | proxy_set_header X-Forwarded-Host $http_host; | + | |
| - | proxy_set_header Remote-User $remote_user; | + | |
| - | proxy_buffering off; | + | |
| + | proxy_pass http:// | ||
| + | proxy_set_header X-Forwarded-Protocol $scheme; | ||
| + | proxy_set_header Remote-User $remote_user; | ||
| + | proxy_buffering off; | ||
| } | } | ||
| + | location /rest { | ||
| + | proxy_pass http:// | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | proxy_set_header X-Forwarded-Protocol $scheme; | ||
| + | | ||
| + | proxy_set_header Remote-User $remote_user; | ||
| + | proxy_buffering off; | ||
| + | } | ||
| + | |||
| + | client_max_body_size 100M; | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | This will automatically login your users using the SSO provided by [[services: | ||
| + | |||
| + | Please note that the **/rest** location is __not__ protected by Authelia, as this would __not__ work with Subsonic apps. Authentication, | ||
| + | |||
| + | |||
| + | |||
| ===== Autostart ===== | ===== Autostart ===== | ||
| Line 85: | Line 111: | ||
| rc-service user-containers.navidrome start | rc-service user-containers.navidrome start | ||
| </ | </ | ||
| + | |||
| + | ===== External Integrations ===== | ||
| + | |||
| + | See [[https:// | ||
| + | |||
| + | ==== LastFM ==== | ||
| + | |||
| + | Navidrome can use Last.fm to retrieve artists biographies, | ||
| + | < | ||
| + | ND_LASTFM_ENABLED: | ||
| + | ND_LASTFM_APIKEY: | ||
| + | ND_LASTFM_SECRET: | ||
| + | ND_LASTFM_LANGUAGE: | ||
| + | </ | ||
| + | |||
| + | to fill the key& | ||
| + | |||
| + | ==== Spotify ==== | ||
| + | |||
| + | Artist images can be retrieved from Spotify. You’ll need to set the config options: | ||
| + | < | ||
| + | ND_SPOTIFY_ID: | ||
| + | ND_SPOTIFY_SECRET: | ||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
| + | |||