ITADN

[Docs Feedback]: Include Examples for PODMAN as a QUADLET

#347Openpostnick 创建于 2026-05-01
documentationenhancement
P
postnickcommented
### I confirm that: - [x] This issue is about the **documentation website**, NOT about the Navidrome server ### Page URL or path https://www.navidrome.org/docs/installation/Podman ### Suggestion I have been running my Navidrome server as a podman quadlet as rootless for about 6 months with no issues. I'd like to propose adding some Example documentation as a sub heading on this page: [https://www.navidrome.org/docs/installation/](url) / Podman Below isn't perfect but it's a good structure i'd like to see brought in if possible. First time contribution here, but I'd love to get it right. I don't know your repo well enough to do a Merge request or your formatting guidelines yet so I'll pose this as a discussion post. These are the notes i keep around for my quadlet setup. Thank you for your time and hopefully this is put to good use. <hr> If not already created you'll need a folder here: ```bash mkdir -p ~/.config/containers/systemd ``` You'll have to create a **navidrome.container** file under the above directory 1. Enable lingering for the user. *This allows containers to start after reboot without user login required* `sudo loginctl enable-linger $USER` 2. To use enable-linger need: `[Install] `WantedBy=default.target 3. Inform systemd of the new unit file. `systemctl --user daemon-reload` This step creates the _test-ol.service_ based on the _test-ol.container_ file. 4. Start the service. `systemctl --user start navidrome.service` The service runs `podman` to download the Oracle Linux image and then issues the `sleep 60` inside the container image. 5. Check the status of the service. `systemctl --user status test-navidrome.service` My Example config (Very Cleaned up) ```container [Unit] Description=Navidrome music server Wants=network-online.target After=network-online.target After=local-fs.target [Container] ContainerName=Navidrome Image=docker.io/deluan/navidrome:latest AutoUpdate=registry PublishPort=4533:4533 # Data and Config files stored on NFS Share is mounted into a PROD folder Volume=/path/to/data::/data:z Volume=/path/to/your/music/Music:/music:z # Security Label disable needed for SELinux SecurityLabelDisable=true Environment=ND_LOGLEVEL=info # Downloads - Sharing links - Logging Environment=ND_ENABLEDOWNLOADS=true Environment=ND_ENABLESHARING=true Environment=ND_UIWELCOMEMESSAGE="Welcome..." # Playlist Path Environment=ND_AUTOIMPORTPLAYLISTS=true Environment=ND_SMARTPLAYLISTREFRESHDELAY="300s" Environment=ND_COVERARTPRIORITY="embedded, cover.*, folder.*, front.*, external" # Plugins Optional Environment=ND_PLUGINS_ENABLED=true Environment=ND_PLUGINS_FOLDER="/data/plugins" Environment=ND_PLUGINS_AUTORELOAD=true Environment=ND_PLUGINS_LOGLEVEL=debug Environment=ND_PLUGINS_CACHESIZE="200MB" # Telemetry. - THESE NEED TO BE TRUE TO ENABLE LASTFM , LISTENBRAINZ, AND SPTOIFY INTEGRATIONS Environment=ND_ENABLEINSIGHTSCOLLECTOR=true Environment=ND_ENABLEEXTERNALSERVICES=true # For scrobbling Environment=ND_LISTENBRAINZ_ENABLED='true' Environment=ND_LISTENBRAINZ_BASEURL='https://LISTENBRAINZ.URL/1' #Environment=ND_LISTENBRAINZ_TOKEN='API TOKEN FOR LISTENBRAINZ' # LastFM API info - For scrobbling! - You need these here for metadata to come like artist photos Environment=ND_LASTFM_ENABLED=true Environment=ND_LASTFM_LANGUAGE=en Environment=ND_LASTFM_APIKEY='LAST_FM_API_KEY' Environment=ND_LASTFM_SECRET='LAST_FM_API_SECRET' [Service] Restart=unless-stopped TimeoutStartSec=90 [Install] WantedBy=default.target ``` When you get your container working, check your firewall rules you may need to allow ports. To allow specific ports in the RHEL firewall using `firewalld`, use the `firewall-cmd` command with the `--add-port` option. For example, to open TCP port 8080 permanently: ``` sudo firewall-cmd --permanent --add-port=8080/tcp ``` After adding the rule, reload the firewall to apply changes: ``` sudo firewall-cmd --reload ``` To verify the port is open, list the active ports: ``` sudo firewall-cmd --list-ports ``` For multiple ports, specify them in a comma-separated list: ``` sudo firewall-cmd --permanent --add-port={8080/tcp,8443/tcp,8009/tcp,8005/tcp} ```
1 条评论