gonic logo

gonic

Lightweight Subsonic-compatible music server that streams your library to a wide range of clients

Open Source Alternative to
Repository activity
  • Stars2.4k
  • Forks150
  • Open Issues63
License

GPL-3.0

Languages
  • Go
  • Go Template
  • Dockerfile
Get it:GitHub
gonic screenshot

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