To install and run Navidrome on Bluefin, the recommended approach is to use a container with Podman (or Docker). Here’s a step-by-step guide:
-
Pull the Navidrome image:
podman pull docker.io/deluan/navidrome -
Create persistent directories for Navidrome’s data and your music:
mkdir -p /var/home/markles/Navidrome/data mkdir -p /var/home/markles/Music chown -R $USER: /var/home/markles/Navidrome -
Run the Navidrome container:
podman run -d \ --name=navidrome \ --security-opt label=disable \ -p 4533:4533 \ -v /var/home/markles/Navidrome/data:/data \ -v /var/home/markles/Music:/music:ro \ docker.io/deluan/navidrome--security-opt label=disableis crucial when mounting directories from your home folder on Bluefin, as it disables SELinux separation for this container and prevents permission errors likeFATAL: Error creating cache path: mkdir /data/cache: permission denied.- The
-vflags mount your data and music folders into the container, ensuring persistence. - The
-pflag exposes Navidrome’s web interface on port 4533.
-
Access Navidrome:
Open http://localhost:4533 in your browser to complete setup.
Troubleshooting:
- If you see a permission error like
FATAL: Error creating cache path: mkdir /data/cache: permission denied, ensure you:- Use
--security-opt label=disablewhen mounting from your home directory. - Own the data directory (
chown -R $USER: /var/home/markles/Navidrome/data).
- Use
- For more details, see the Bluefin SELinux container docs.
Alternative:
You can also run Navidrome inside a Distrobox container for a more traditional Linux environment. This involves creating a Distrobox, mounting your data and music directories, installing Navidrome from the GitHub releases page, and running it inside the container. This method is more flexible but generally more complex than using Podman.
For most users, the Podman approach is simpler and aligns with Bluefin’s philosophy of isolating server applications in containers.