I’ve been on Tidal for years, but it’s frustrating to use for lots of reasons (they only pay their artists slightly better than Spotify, streaming services are flaky, works poorly with my DLNA home speakers). I’m looking for something I can selfhost with the following features, and I would appreciate any suggestions in this direction:

  • integrates with downloading services (nzbget and qbittorrent; or better yet prowlarr)
  • has a suggestions/radio/mix feature, or integrates well with something that does. I currently use jellyseerr for other kinds of media, so something in that vein.
  • has a mobile app which lets me download all the tracks I want, or integrates with one that does. Big bonus points if the mobile app can play to DLNA speakers.

A bit about my lab:

  • Proxmox-based, lots of VMs and containers on 2 different cluster nodes. Lots of underprovisioned RAM in the cluster. Nodes run Fedora and I’m partial to quadlets, but I can convert anything to a quadlet if I need to.
  • Airvpn port tunneling is available to me.

TIA!

  • @i_uuuh_what
    link
    English
    126 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