Files
Alexander a1f6701bac feat: initial implementation of metadata aggregator
- gRPC service with MusicBrainz provider
- PostgreSQL schema with migrations
- Service layer with database-first caching
- Repository pattern for data access
- YAML configuration support
- Research documentation for 17 music metadata projects
2026-04-28 16:28:53 +02:00
..

gonic

Overview

Free-software Subsonic server API implementation. Music streaming server written in Go, lightweight and suitable for Raspberry Pi.

Key Features

  • API: Subsonic/OpenSubsonic
  • Language: Go
  • Metadata: Embedded tags, Last.fm, ListenBrainz
  • Transcoding: On-the-fly with ffmpeg
  • License: GPL-3.0

Source

Resource URL
Repository https://github.com/sentriz/gonic
Docker Hub https://hub.docker.com/r/sentriz/gonic

Key Features

  • Browsing by folder (keeps tree intact) or by tags
  • Multi-valued tags support (genres, album artists)
  • On-the-fly transcoding and caching (requires ffmpeg)
  • Jukebox mode (server-side playback)
  • Podcast support
  • Last.fm and ListenBrainz scrobbling
  • Artist similarities and biographies from Last.fm
  • Web interface for configuration

Tag Support

# Multi-value tag modes
GONIC_MULTI_VALUE_MODE=multi   # Explicit multi-value fields (genres, album_artists)
GONIC_MULTI_VALUE_MODE=delim   # Delimiter-separated values

Self-Hosting

docker run -d \
  -p 4747:80 \
  -v /path/to/music:/music:ro \
  -v /path/to/data:/data \
  -v /path/to/podcasts:/podcasts \
  -v /path/to/cache:/cache \
  sentriz/gonic

Tested Clients

  • airsonic-refix, amperfy, symfonium, dsub
  • jamstash, music-assistant, subsonic.el
  • sublime music, soundwaves, stmp, termsonic
  • tempus, strawberry, ultrasonic

Notes

  • Lightweight Go implementation
  • MusicBrainz Picard / Beets / wrtag compatible tags
  • ARM images available for Raspberry Pi
  • Active development