Installing with Docker
Using the official docker images with Docker and Docker Compose
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.
Using docker-compose
:
Create a docker-compose.yml
file with the following content (or add the navidrome
service
below to your existing file):
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_LOGLEVEL: debug
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
Using 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
Customization
- The
user
argument should ideally reflect theUID:GID
of 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 asroot
. - Remember to change the
volumes
paths to point to your local paths./data
is where Navidrome will store its DB and cache,/music
is where your music files are stored. - Configuration options can be customized with environment
variables as needed. For
docker-compose
just add them to theenvironment
section or the yml file. Fordocker
cli use the-e
parameter. Ex:-e ND_SESSIONTIMEOUT=24h
. - If you want to use a configuration file with Navidrome running in Docker,
you can create a
navidrome.toml
config file in the/data
folder and set the optionND_CONFIGFILE=/data/navidrome.toml
.
Feedback
Was this page helpful?