this post was submitted on 21 Oct 2024
77 points (95.3% liked)

Selfhosted

39856 readers
450 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I'm currently using @[email protected] for my music collection after downloading over 2.5k songs from YouTube Music (Premium). While it works fine for most things, I'm looking for a better alternative. My key requirement is to read files from a mounted WebDAV folder (NextCloud Folder).

The Subsonic API in NextCloud Music works fine, and I've had no issues streaming through clients like Symfonium and Subtract. However, I want to eliminate the 5-10 second buffering issue I experience on mobile. When I tried @[email protected], my NextCloud AIO instance became unresponsive after about 30 minutes (happened twice, not sure why).

I also tried Navidrome, but I didn't like how it organizes music—it only recognizes album artists, which doesn’t work for me since I don’t have albums. I downloaded the songs in Playlists using Seal.

Ideally, I’m looking for a solution that streams high-quality music instantly, like Spotify or YouTube Music. If possible, I'd prefer tweaking my Nginx config to resolve the buffering issue rather than setting up new software. What alternatives do you guys use for fast, high-quality music playback with WebDAV support?

Edit: Forgot to mention, the buffering issue only occurs when I use a Subsonic or Ampache client with NC Music. The web version works very smoothly.

Edit: The issue with Nextcloud Music was occurring because of rate limiting.

top 47 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 5 days ago

I've been using a Navidrome server with Feishin as a desktop client (though I'm looking for something a bit more feature-rich) and play:Sub as a mobile client with a tailscale link. No idea if this is a dumb way to do this, but it works for me. I don't really get any buffering unless I'm trying to play a FLAC out in the middle of nowhere.

[–] [email protected] 1 points 1 week ago

I started working on a hobby project recently to meld the utility of Beets with a music and podcast streaming service, like Subsonic. I'm developing this with a contract-first approach, and so far I've gotten most of the podcast management code in place, but I've not started working on the frontend outside of integrating a skeleton project into build process. I'll add a note to look into supporting webdav data sources directly.

I plan on doing another big dev push around Christmas, so hopefully I'll have an MVP app to show off around that time. The frontend is a basic vite/react base and the backend is Spring Boot with Kotlin. I'll be looking for some contributors for the mobile app side within the next few months.

[–] [email protected] 7 points 1 week ago (2 children)

Navidrome should recognize both album-artists and artists. In my phone app (Symfonium) I see them separately and I can browse by individual artists or by album-artists.

[–] [email protected] 1 points 5 days ago

I'm doimg the same, but with the substreamer app.

[–] [email protected] 1 points 1 week ago (1 children)

Not sure why it didn't work for me. I've also tried Jellyfin. Had the same issue.

[–] [email protected] 1 points 1 week ago (1 children)

How are you tagging those and in which tagging software?

[–] [email protected] -1 points 1 week ago (1 children)

I use NextCloud Music and Recognize (a NextCloud app). It's showing all albums and genres (mostly) correctly. Also I can go to a artists page and see all of his songs.

NextCloud Music supports both subsonic and ampache API.

[–] [email protected] 2 points 1 week ago

Recognize I am not familiar with these, but it seems it's automated tagging? Then it depends how it writes the tags and the separators. Try viewing the tags in Musicbrainz or some other manual tagging software to check.

[–] [email protected] 2 points 1 week ago

Currently exploring some tools around this myself too. I'd recommend having a look at Gonic, LMS(light music server) and Navidrome for hosting music. Personally I quite liked the simplicity of Gonic.

If you need to re-sort/manage your music then, Beets and Musicbrainz Picard, or MediaMonkey (if you're on Windows) are your friends. These can add alot of additional metadata to your library.

Beets is apparently the "best" tool out of these as it has a big plugin library and hella customizable configuration for your exact setup.

Best of luck 🤞

[–] [email protected] 5 points 1 week ago

it's closed source, but Roon is pretty darn good. Slick UI, tagging, artist/album information, local/remote playback, speaker streaming. I have it pointed to an NFS share on my file server. It handles large (250k+ songs) libraries reasonably well. They integrate directly with a couple services, though I've never used them.

the selling point for me, over other music servers(I've tried almost every one mentioned in this thread), was that it was a much better ux than any other offering. for the most part it has held up or exceeded recent comparisons.

disclaimers: it is not free. some might say expensive.

as seems the norm these days, the forums have some admin moderation problems.

they've not historically listened to user feedback seriously, though that has changed drastically over the past year.

they just got acquired by HK... which could really go either way long-term.

NGL, it took many years for it to mature to this point and it continues to be bumpy; though nothing worse than open software I've used and it is nothing if not reliable.

[–] [email protected] 4 points 1 week ago

I'm syncing Spotify playlists with Lidarr and play my music in Jellyfin or Symfonium.

[–] [email protected] 4 points 1 week ago (1 children)

Do you only experience the 5-10 second buffering issue on mobile? If not, then you might be able to fix the issue by tuning your NextCloud instance - upping the memory limit, disabling debug mode and dropping log level back to warn if you ever changed it, enabling memory caching, etc..

Check out https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html and https://docs.nextcloud.com/server/latest/admin_manual/installation/php_configuration.html#ini-values for docs on the above.

[–] [email protected] 1 points 1 week ago

Yeah, I face that issue only on mobile. I use Nextcloud AIO. Everything should be optimized already. Though I've tuned my nginx config a little bit (using it as a reverse proxy in front of AIO).

[–] [email protected] 4 points 1 week ago (1 children)
[–] [email protected] 3 points 1 week ago (2 children)

Last time I checked that project wasn't actively maintained. I think Jellyfin suits my needs.

[–] [email protected] 3 points 1 week ago

Funkwhale is still actively maintained, the last release was less than a year ago.

[–] [email protected] 2 points 1 week ago

Sad to hear this news.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (2 children)

If you want pure streaming DAAP using OwnTone is a good alternative https://owntone.github.io/owntone-server/

Personally I use gonic with the Subsonic API, and Ultrasonic on Android. I haven't noticed any buffering lag, but it does buffer and cache aggressively. For mobile connections I see that as a big plus since it'll continue to play even if I loose signal for a while.

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (2 children)

Personally I use gonic with the Subsonic API, and Ultrasonic on Android.

Gonic is a super lightweight subsonic API server with a very basic static stats "dashboard". As so, it's great for lower end devices. Only problem is that it sometimes fails to pick up the album art is some cases, if that don't disturb you, then it's great.

Airsonic (abandonedware) is the best subsonic server in my option. It displays all album arts correctly and is folder based which works much better than Navidrome's Id tag reader, which is a dumpster fire.

Airsonic is on the heavier side on ram usage, around 1GB. Can probably run just fine on 500mb. Probably around what Jellyfin uses.

Ultrasonic is a great android app. It is just not updated for quite some time now.

I'm also running Jellyfin and I'll experiment with Finamp. Let's see if it takes the number one spot from Ultrasonic :)

Edit: Ultrasonic's strong point is also the caching of music for offline listening. Not sure if Finamp has the capability.

Edit2: Yes, it can cache music.

[–] [email protected] 1 points 5 days ago

I like Navidrome for the server and substreamer for the app.

[–] [email protected] 2 points 1 week ago

There's a ton of android clients Subtracks is nice too! Ultrasonic might not get regular updates, but it's already very complete so there's not much need.

I haven't had much issues with gonic and album art, I guess YMMV

[–] [email protected] 8 points 1 week ago (1 children)

Lose. "Loose" is for morals and what Monty Burns does to the hounds with bees in their mouth.

[–] [email protected] 47 points 1 week ago (3 children)

I'm using Plex with plexamp. You could also go jellyfin with finamp

[–] [email protected] 1 points 1 week ago

Those plexamp sweet fades though. 🤤

[–] [email protected] 2 points 1 week ago (1 children)

I like Plexamp but there’s a couple of things to be aware of depending on your music library that took me a while to figure out:

  • They downsample anything above 48kHz which isn’t a big deal but sucks if you have hi-res music. It won’t even tell you it’s transcoding if you check the dashboard and Plexamp will show it as playing at the actual sample rate which is misleading when trying to debug.
  • It doesn’t distinguish between explicit and clean versions so if you have both then it will just look like duplicates. You also can’t favorite just the clean or explicit version as favoriting one will do the same for both versions.
  • They don’t support Spatial Audio/Dolby Atmos(E-AC-3) music. Doesn’t matter if they are m4a or flac. Again, nothing about transcoding in the dashboard but the sound will be horrible. It does at least show in Plexamp that the song is playing as Opus. I know everyone says multichannel music isn’t worth it, but I wanted to try it out and was very disappointed when Plexamp wouldn’t play them.

These probably aren’t issues to the majority of users with just their favorite songs in mp3 or flac 16-44, but it’s something for people with larger hi-res/multichannel libraries to be aware of that I recently learned.

[–] [email protected] 2 points 6 days ago (1 children)

For your second point can't you tag the song as explicit and put in it a separate album (album name (explicit) ) and unmatch the album (or add a specific explicit version to music barainz to match with) I have had to do this with instrumental versions assuming it's the same process.

[–] [email protected] 3 points 6 days ago

They are already tagged as explicit/clean in the metadata as well as separated by folder with an [E] tag if explicit. I could manually rematch them but my library is large so I’d really rather not

[–] [email protected] 10 points 1 week ago (1 children)

Not gonna lie I love Plexamp so glad I gave it a chance awhile ago.

[–] [email protected] 3 points 1 week ago (1 children)

I use plexamp as well, I think I bought Plex Pass specifically to have it.

You can install a headless plexamp client onto a Raspberry Pi and have it hooked up to an audio receiver for seamless music casting.

[–] [email protected] 2 points 1 week ago (1 children)
[–] [email protected] 3 points 1 week ago

It's a bit of a process to get it going, but it's worth it for me so that I can use my phone to cast directly without needing to use a smart home device.

https://howtohifi.com/install-headless-plexamp-endpoint-home-network-raspberry-pi/

[–] [email protected] 32 points 1 week ago* (last edited 1 week ago) (4 children)

Jellyfin. I've been using it for several months. It works really great for streaming music and also videos. I use the Finamp app in my phone for music.

@mitexleo @selfhosted

[–] [email protected] 2 points 1 week ago

I'm also loving finamp, I keep meaning to try building it on desktop when I have free time, but also keep forgetting

[–] [email protected] 3 points 1 week ago

If I may recommend it, give Symfonium a try for an app front end. It's actually stellar. I tried Finamp with the same and wasn't as jazzed

[–] [email protected] 2 points 1 week ago

I use Jellyfin, moved from subsonic and its amazing

[–] [email protected] 0 points 1 week ago (2 children)

Is Jellyfin Subsonic or Ampache API compatible?

[–] [email protected] 2 points 1 week ago

no, its a different thing

[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (1 children)

@mitexleo @selfhosted I don't know. I just use it with the official app or finamp.

[–] [email protected] 0 points 1 week ago (1 children)

How do you organize music? All of my songs in the same folder. Artist and Album sections are empty now.

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago) (1 children)

@mitexleo @selfhosted artist/album. I use musucbrainz Picard to tag files, so jellyfin can identify easily.

[–] [email protected] 0 points 1 week ago (1 children)

How can I configure it? My Artist tab shows only one artist.

[–] [email protected] 3 points 1 week ago* (last edited 1 week ago) (1 children)

@mitexleo @selfhosted here you can find some information on how to organize your music directories in Jellyfin.

https://jellyfin.org/docs/general/server/media/music/

You need to add media library first.

[–] [email protected] 1 points 1 week ago (1 children)

Organizing them is going to be time consuming for me. Nextcloud Music has everything I need. It can detect genre, language etc. using NextCloud Recognize app. I just need to improve the buffering issue. 🥺

[–] [email protected] 4 points 1 week ago* (last edited 1 week ago) (1 children)

@mitexleo @selfhosted Jellyfin can also do that. You need to configure metada providers in library. But it is required that you organize your library directories by artist/album.

[–] [email protected] 2 points 1 week ago (1 children)

But it is required that you organize your library directories by artist/album.

That's what killed Jellyfin for me, I have like 6000 songs in a flat folder and I'm not gonna spend the time to reorganize all of that lol. Navidrome recognizes albums etc by tags, so that works better for me.

[–] [email protected] 1 points 1 week ago

Navidrome wasn't displaying the artists.