Docker images are available for the linux/amd64, linux/arm/v6, linux/arm/v7 and linux/arm64 platforms. They include everything needed to run Navidrome.
docker-compose.yml file with the following content (or add the
below to your existing file):
version: "3" services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # should be owner of volumes ports: - "4533:4533" restart: unless-stopped environment: # Optional: put your config options customization here. Examples: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" volumes: - "/path/to/data:/data" - "/path/to/your/music/folder:/music:ro"
Start it with
docker-compose up -d. Note that the environment variables above are just an example and are not required. The
values in the example are already the defaults
docker command line tool:
$ docker run -d \ --name navidrome \ --restart=unless-stopped \ --user $(id -u):$(id -g) \ -v /path/to/music:/music \ -v /path/to/data:/data \ -p 4533:4533 \ -e ND_LOGLEVEL=info \ deluan/navidrome:latest
userargument should ideally reflect the
UID:GIDof the owner of the music library to avoid permission issues. For testing purpose you could omit this directive, but as a rule of thumb you should not run a production container as
- Remember to change the
volumespaths to point to your local paths.
/datais where Navidrome will store its DB and cache,
/musicis where your music files are stored.
- Configuration options can be customized with environment
variables as needed. For
docker-composejust add them to the
environmentsection or the yml file. For
dockercli use the
- If you want to use a configuration file with Navidrome running in Docker,
you can create a
navidrome.tomlconfig file in the
/datafolder and set the the option
Was this page helpful?
Glad to hear it! Please tell us how we can make it even better.
Sorry to hear that. Please tell us how we can improve.