Navidrome — Self-Hosted Music Server & Streamer
Navidrome is a lightweight, self-hosted music server compatible with Subsonic clients, letting you stream your entire music collection from anywhere.
Ready-to-run agent install
This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.
npx -y tokrepo@latest install a70ba942-39c1-11f1-9bc6-00163e2b0d79 --target codexRun after dry-run confirms the install plan.
What it is
Navidrome is a lightweight, self-hosted music server that lets you stream your entire music collection from anywhere. It is compatible with the Subsonic API, which means you can use dozens of existing Subsonic client apps on iOS, Android, desktop, and web. Navidrome handles library scanning, transcoding, playlist management, and multi-user access.
Navidrome targets music enthusiasts and homelab operators who want to own their music streaming experience. Instead of paying for a subscription service, you point Navidrome at your music folder and get a personal Spotify-like experience on your own hardware.
Why it saves time or tokens
Setting up a music server traditionally required configuring Plex, Jellyfin, or Airsonic with their complex settings. Navidrome is a single binary or Docker container that scans your music directory and serves it immediately. The Subsonic API compatibility means you do not need to find or build custom client apps. Configuration is minimal: point at a folder, set a port, and start streaming.
How to use
- Deploy Navidrome with Docker:
docker run -d -p 4533:4533 -v /path/to/music:/music deluan/navidrome - Open the web UI at
http://your-server:4533and create an admin account - Connect a Subsonic-compatible client app on your phone or desktop
Example
# docker-compose.yml
version: '3'
services:
navidrome:
image: deluan/navidrome:latest
ports:
- '4533:4533'
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_BASEURL: ''
volumes:
- ./data:/data
- /path/to/music:/music:ro
restart: unless-stopped
| Feature | Description |
|---|---|
| Library scanning | Automatic periodic scan with metadata |
| Transcoding | On-the-fly format conversion |
| Multi-user | Individual libraries and playlists |
| Subsonic API | Compatible with 30+ client apps |
| Web UI | Built-in responsive web player |
Related on TokRepo
- AI tools for self-hosted — self-hosted applications and services on TokRepo
- AI tools for automation — homelab automation tools
Common pitfalls
- Music files without proper ID3 tags display as unknown artist/album; tag your library with MusicBrainz Picard before importing
- Transcoding requires ffmpeg installed alongside Navidrome; the Docker image includes it, but bare-metal installs may need manual setup
- Exposing Navidrome to the internet requires a reverse proxy with TLS; never run it on a public port without HTTPS
Frequently Asked Questions
Navidrome supports the Subsonic API, which is compatible with apps like DSub and Ultrasonic on Android, play:Sub and Amperfy on iOS, Sonixd and Sublime Music on desktop, and many others. The Navidrome documentation maintains a list of tested compatible clients across all platforms.
Jellyfin is a general-purpose media server handling video, music, and photos. Navidrome is purpose-built for music only, resulting in a simpler setup and better music-specific features like smart playlists and Subsonic API compatibility. If you only need music streaming, Navidrome is the lighter choice.
Yes. Navidrome supports multiple users, each with their own playlists, favorites, play history, and access controls. The admin can manage user accounts through the web interface. Each user connects with their own credentials from any Subsonic client.
Navidrome supports MP3, FLAC, OGG, AAC, WMA, WAV, AIFF, and other common formats. For formats your client cannot play natively, Navidrome transcodes on the fly using ffmpeg. You can configure the target transcode format and bitrate per user or globally.
Yes. Set up a reverse proxy (Nginx, Caddy, or Traefik) with a domain name and TLS certificate to expose Navidrome securely. Alternatively, use a VPN like WireGuard or Tailscale to access your home network. Never expose Navidrome directly without encryption.
Citations (3)
- Navidrome GitHub— Navidrome is a self-hosted music server compatible with Subsonic API
- Navidrome Docs— Navidrome deployment and configuration
- Subsonic API— Subsonic API specification for music streaming
Related on TokRepo
Discussion
Related Assets
Owncast — Self-Hosted Live Streaming Server
An open source, self-hosted, decentralized live video streaming and chat server that gives you full control over your broadcasts.
Homarr — Customizable Self-Hosted Server Dashboard
Homarr is a sleek, modern dashboard for your self-hosted server that integrates with dozens of services. It provides real-time monitoring widgets, application shortcuts, and Docker container management in one unified interface.
Cosmos Server — Secure Self-Hosted Home Server Platform
A secure self-hosted home server platform with built-in reverse proxy, authentication, anti-DDoS protection, and a container management UI for running self-hosted applications safely.
Tube Archivist — Self-Hosted YouTube Media Server
A self-hosted YouTube media server that downloads, indexes, and organizes YouTube videos. Tube Archivist provides a browsable archive with search, subscriptions, and playback.