# Navidrome

> music server and playback software

**Wikidata**: [Q110090165](https://www.wikidata.org/wiki/Q110090165)  
**Source**: https://4ort.xyz/entity/navidrome

## Summary
Navidrome is a music server and playback software designed to manage and stream personal music collections. It is built using the Go programming language and operates as a free, open-source media server that implements the Subsonic API protocol.

## Key Facts
- **Classification:** Instance of free software and a media server.
- **Programming Language:** Developed using Go, a language created by Google and the open-source community.
- **License:** Distributed under the GNU General Public License, version 3.0.
- **Communication Protocol:** Utilizes the Subsonic API for interaction between the server and playback clients.
- **Release History:** Early versions (0.3.0 through 0.7.0) were released in rapid succession between January 27, 2020, and February 7, 2020.
- **Source Code:** The repository is hosted publicly on GitHub.
- **Official Website:** navidrome.org (available in English).
- **Social Presence:** Maintains active communities on Twitter (since March 2020), Reddit (r/navidrome), and Discord.

## FAQs
### Q: What is the primary function of Navidrome?
A: Navidrome is a self-hosted music server that allows users to organize their personal music libraries and stream them to various devices. It acts as both a storage backend and a playback interface.

### Q: Is Navidrome open-source?
A: Yes, Navidrome is free software licensed under the GNU General Public License v3.0. This allows users to freely run, study, modify, and distribute the software.

### Q: How does Navidrome connect to mobile apps?
A: Navidrome implements the Subsonic API protocol, which makes it compatible with a wide range of existing third-party Subsonic clients and mobile applications.

## Why It Matters
Navidrome provides a modern, efficient solution for users who wish to maintain digital sovereignty over their music collections. By functioning as a self-hosted media server, it eliminates reliance on centralized streaming services, allowing users to access their own files from anywhere. Its development in Go—a language known for performance and concurrency—ensures the software remains lightweight and capable of running on various hardware configurations. 

The project's significance is further bolstered by its adherence to the Subsonic API. Rather than creating a proprietary ecosystem, Navidrome leverages an established protocol, granting users immediate compatibility with a mature landscape of third-party players. As a piece of free software (GPL v3.0), it ensures that the code remains transparent and community-driven, protecting the longevity of the tool for its user base.

## Notable For
- **Subsonic API Integration:** Offers broad compatibility with a variety of external music players and mobile apps designed for the Subsonic ecosystem.
- **Go-Based Backend:** Built with the Go programming language, benefiting from modern software architecture and efficiency.
- **Rapid Iteration:** Demonstrated a high frequency of updates during its early stages, releasing eight version increments within its first month of public tracking in 2020.
- **Community-Centric Development:** Maintains a transparent development cycle via GitHub and active engagement through dedicated Discord and Reddit channels.

## Body

### Technical Specifications
Navidrome is a **media server** and **free software** project. It is primarily written in the **Go programming language**, which was originally launched in 2009. The software is copyrighted but made available under the **GNU General Public License, version 3.0 (GPL-3.0)**, ensuring that the source code remains open and modifiable by the public.

### Protocol and Compatibility
The software's primary method of communication is the **Subsonic API**. This protocol allows Navidrome to serve music to any client that supports the Subsonic standard. This architectural choice allows the server to function as a backend for a diverse range of third-party playback software.

### Development History
The project's source code is maintained in a **GitHub repository**. Navidrome's early version history shows a period of intense development in early 2020:
*   **Version 0.3.0, 0.3.1, and 0.3.2:** Released on January 27, 2020.
*   **Version 0.4.1:** Released on January 30, 2020.
*   **Version 0.4.2:** Released on February 1, 2020.
*   **Version 0.5.0:** Released on February 3, 2020.
*   **Version 0.6.0 and 0.6.1:** Released on February 6, 2020.
*   **Version 0.6.2 and 0.7.0:** Released on February 7, 2020.

### Community and Online Presence
Navidrome maintains an official presence across several digital platforms:
*   **Official Website:** The project's home is navidrome.org.
*   **Social Media:** The official Twitter account (@navidrome) was created on March 27, 2020.
*   **Community Forums:** Users interact via the **navidrome subreddit** and a dedicated **Discord server** (invite ID: xh7j7yF).
*   **Package Management:** The project is tracked under the name "navidrome" in the Repology project database.

## References

1. [Source](https://github.com/navidrome/navidrome/blob/master/LICENSE)
2. [Source](https://github.com/navidrome/navidrome)
3. [Release 0.3.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.3.0)
4. [Release 0.3.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.3.1)
5. [Release 0.3.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.3.2)
6. [Release 0.4.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.4.1)
7. [Release 0.4.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.4.2)
8. [Release 0.5.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.5.0)
9. [Release 0.6.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.6.0)
10. [Release 0.6.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.6.1)
11. [Release 0.6.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.6.2)
12. [Release 0.7.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.7.0)
13. [Release 0.7.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.7.1)
14. [Release 0.7.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.7.2)
15. [Release 0.7.3. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.7.3)
16. [Release 0.8.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.8.0)
17. [Release 0.8.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.8.1)
18. [Release 0.8.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.8.2)
19. [Release 0.8.3. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.8.3)
20. [Release 0.8.4. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.8.4)
21. [Release 0.9.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.9.0)
22. [Release 0.9.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.9.1)
23. [Release 0.9.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.9.2)
24. [Release 0.9.3. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.9.3)
25. [Release 0.10.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.10.0)
26. [Release 0.11.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.11.0)
27. [Release 0.11.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.11.1)
28. [Release 0.12.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.12.0)
29. [Release 0.13.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.13.0)
30. [Release 0.14.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.0)
31. [Release 0.14.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.1)
32. [Release 0.14.2. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.2)
33. [Release 0.14.3. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.3)
34. [Release 0.14.4. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.4)
35. [Release 0.14.5. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.14.5)
36. [Release 0.15.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.15.0)
37. [Release 0.16.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.16.0)
38. [Release 0.16.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.16.1)
39. [Release 0.17.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.17.0)
40. [Release 0.18.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.18.0)
41. [Release 0.19.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.19.0)
42. [Release 0.20.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.20.0)
43. [Release 0.21.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.21.0)
44. [Release 0.22.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.22.0)
45. [Release 0.23.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.23.0)
46. [Release 0.23.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.23.1)
47. [Release 0.24.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.24.0)
48. [Release 0.25.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.25.0)
49. [Release 0.26.0. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.26.0)
50. [Release 0.26.1. 2020](https://github.com/navidrome/navidrome/releases/tag/v0.26.1)