# 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 ```bash 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