Navidrome is a self-hosted music streaming server designed to organize, index, and stream personal digital music collections. It functions as a centralized audio streaming platform that manages local audio files, automatically enriching them with metadata and artwork while providing a web interface for playback. The system supports multi-user access, allowing administrators to manage separate collections and listening histories with granular permissions.
The platform distinguishes itself through its compatibility with the Subsonic API, enabling users to connect a wide range of third-party music players and mobile applications to their library. It features an event-driven library scanner that monitors file system changes in real-time and performs on-demand audio transcoding to ensure compatibility across various devices and network conditions. Users can further extend the server's capabilities through a plugin architecture that supports custom metadata agents, scrobblers, and event handlers.
Beyond core streaming, the software includes administrative tools for managing user accounts, security, and data resilience. It supports reverse-proxy authentication for single sign-on integration and provides command-line utilities for service lifecycle control. The server also manages public sharing links, dynamic playlist synchronization, and listening history tracking.
The application is distributed as a single binary, simplifying deployment across various hosting environments, including containerized and custom setups. It includes built-in performance optimizations for image delivery and security measures such as brute-force protection to safeguard access.