Lightweight Subsonic-compatible music server that streams your library to a wide range of clients
- Stars2.4k
- Forks150
- Open Issues63
GPL-3.0
- Go
- Go Template
- Dockerfile

About gonic
gonic is a lightweight, self-hosted music server that implements the Subsonic API, so you can stream your personal library to a wide range of Subsonic-compatible apps. A built-in web interface handles configuration, users, and scans.
You can browse by folder while keeping your directory tree intact, or by tags via taglib for mp3, opus, flac, ape, m4a, and wav. It offers on-the-fly transcoding and caching with ffmpeg, a jukebox mode for gapless server-side playback, podcasts, multiple users with their own preferences, multi-valued tags, and scrobbling to Last.fm and ListenBrainz.
Written in Go, gonic is light enough to run on a Raspberry Pi, with ARM images available. It is tested against clients such as airsonic-refix, DSub, Symfonium, Strawberry, and Ultrasonic, and installs from source, Docker, or systemd.
Key features
- Subsonic API server for many compatible clients
- Browse by folder or by tags via taglib
- On-the-fly transcoding and caching with ffmpeg
- Jukebox mode for gapless server-side playback
- Multiple users plus Last.fm and ListenBrainz scrobbling
Details
- On GitHub since
- 2019
- Language
- Go
- API
- Subsonic-compatible
- Transcoding
- On-the-fly via ffmpeg
- Lightweight
- Runs on a Raspberry Pi
