A lightweight music streaming server that implements the Subsonic API for self-hosted audio collections.

Gonic is an open-source, self-hosted music streaming server that implements the Subsonic API. It allows users to manage and stream their own audio collections across various compatible client applications. The software is deployed as a server and can be installed via Docker, systemd, or by compiling from source. It serves as a backend that organizes local audio files and makes them accessible to a wide array of third party clients.
The application scans local music and podcast directories to build a comprehensive library, supporting a wide range of audio formats including MP3, Opus, FLAC, APE, M4A, and WAV. It provides a dedicated web interface for administrative tasks, allowing the administrator to manage users, configure API keys, and trigger manual library scans. The system handles metadata through taglib, ensuring that artist and album information is correctly parsed from the files.
Written in Go, Gonic is designed to be lightweight and suitable for low-power hardware such as Raspberry Pi. It supports salt and token authentication to secure access to the music library. The server manages playlists through M3U files and can be placed behind a reverse proxy using a configurable URL prefix. Users can define specific paths for music, podcasts, and cache directories through environment variables or command line arguments to customize the deployment environment.
Gonic is intended for users who want a lightweight, self-hosted backend for their personal music libraries.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.