i_uuuh_what

joined 1 year ago
[–] [email protected] 9 points 2 months ago

Hey, that's almost what I made Gire for. It doesn't support completely anonymous reads though (requires SSH keys for auth).

[–] [email protected] 12 points 3 months ago

Oh, a shameless self-plug opportunity. TLDR: I'm making a Subsonic server trying to replicate a somewhat passable self-hosted Spotify/... experience.

My current setup is a Subsonic stack: gonic as a server, Lidarr as a library organizer/downloader (it works natively with Prowlarr BTW) and Sonixd/Tempo as desktop/mobile clients. Frankly, it sucks - no discovery and almost nothing gets auto-downloaded. Even ignoring the crucial discovery part, I got tired of manually downloading albums from Bandcamp - manually tagging, manually feeding files into Lidarr, manually adding metadata to MusicBrainz so Lidarr actually works, ...

So, I've been working on a Subsonic-compatible server for quite a while. The basic idea is:

  • regular user libraries are already covered by various Subsonic (and other) servers, no need to reinvent this
  • we can, uuuuh, cache stuff from YouTube/Bandcamp/... to stream it via Subsonic API to leverage existing clients
  • we can fetch recommendation lists from somewhere else (ListenBrainz/...) and use the existing library or even auto-search YouTube/Bandcamp/... if the track's missing

Well then, what can Tapesonic already do?

  • given a YouTube/Bandcamp/maybe-more URL, download it and then two-click import it as a playlist or an album, making it listenable via most Subsonic clients (single-video "mixtapes" with timecoded chapters and playlists are supported)
  • combine your "main" library (from probably most other Subsonic servers like gonic/Navidrome/...) with it's own so you don't have to switch servers back and forth

What's broken/not implemented yet?

  • acceptable server UI; features are far more important especially considering that the goal is to use the existing clients for almost everything
  • seeking in clients; working on a fix for the past few days
  • transcoding; not a priority for now
  • auto-searching YouTube/Bandcamp/...; not a priority for now
  • ListenBrainz playlists; I have "already listened" playlists kinda working in a stash, but those are paused until seeking works; "discovery" will just work after auto-searching gets implemented

No user documentation, half-broken, breaking changes one after another, slow progress - but hey, it doesn't mess with your existing library and already made my life quite easier with Bandcamp albums. A docker image is available - so give it a spin if you want to ~~and then ragequit because it sucks~~

[–] [email protected] 1 points 8 months ago

gonic as the streaming server, Lidarr for library management and some of the downloads, Sonixd/Tempo as desktop/mobile clients.

Works alright for albums (downloads are a pain), probably won't really work in your case though.

Everything is running on a single-node k8s cluster (because infrastructure-as-code is awesome), but it's probably overkill for most people. https://github.com/sibwaf/Infrastructure for reference if you're interested (/selfhosted/charts - lidarr, gonic)

Shameless self-plug: I'm working on a Subsonic-compatible server which wraps yt-dlp (i.e. allows downloading from YouTube/Bandcamp and then streams it). Seems like it should work for your case of handling single tracks. It's still very much in progress (very-very slow progress) and really isn't ready for use, but if anyone is interested in following the project: https://github.com/sibwaf/Tapesonic