# Navidrome

Music server that streams your own collection to browsers and Subsonic-compatible apps.

- Replaces: [Spotify](https://openlogs.fyi/alternatives/spotify)
- Summary: Paid music streaming services, such as Spotify.
- Stack: Go (language)
- Deployment: docker_compose
- License: GPL-3.0 (osi) [source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/README.md), read 2026-10-22)
- Difficulty: easy. 1 service, 1 volume mount, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Requirements: not stated
- Repository: [navidrome/navidrome](https://github.com/navidrome/navidrome)

## Install

1. Docker with the Compose plugin ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the compose file as docker-compose.yml ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml))

   ```yaml
   version: '3.6'
   
   volumes:
     navidrome_data:
   
   services:
   
     navidrome:
       container_name: "navidrome"
       image: deluan/navidrome:latest
       restart: unless-stopped
       read_only: true
       # user: 1000:1000
       ports:
         - "4533:4533"
       volumes:
         - "navidrome_data:/data"
         #- "/mnt/music:/music:ro"
   ```

3. Start it ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml))

   ```bash
   docker compose up -d
   ```

4. Open the app ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml))

   ```text
   Open http://localhost:4533. The compose file publishes host port 4533 for the navidrome service.
   ```

Compose file check: config_ok on 2026-10-22.

## Gotchas and maintenance

### Gotchas

- Some images use the latest tag or no tag: Images without a pinned version: navidrome: deluan/navidrome:latest. A later pull can get a different version. ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml), checked 2026-10-22)
- The compose file publishes host ports: Host ports: 4533 (navidrome). A port without a host address listens on all host network interfaces. ([source](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 330
- Stars: 24291, forks: 1767
- Last push: 2026-10-21 (0 days ago)
- Latest release: v0.64.2 on 2026-09-24 (27 days ago)

## Sources

- [Repository: https://github.com/navidrome/navidrome](https://github.com/navidrome/navidrome)
- [License: https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/LICENSE](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/LICENSE)
- [Business model: https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/README.md](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/README.md)
- [Compose file: https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml](https://github.com/navidrome/navidrome/blob/56cc32aedea8dcb28919adbdcfc1f51294df2e5f/contrib/docker-compose/docker-compose.yml)

---
Canonical: https://openlogs.fyi/tools/navidrome  
Last updated: 2026-10-22
