I’ve tried a few options over the years, including SMB and NFS, XBMC as well as HTML with javascript I found online.

I don’t have a large collection of music (fewer than 100 albums), so hand coding things was actually one of the quicker options to setup. That’s despite then hassle of hand coding the URL to each FLAC file as well as the album art. But sometimes the javascript doesn’t handle large collections of FLAC and each implementation I tried had different quirks so I’ve sunk a lot of time into that in other ways without a satisfactory result.

I’ve heard of Emby, Jellyfin, Plex, Roon and Servio. I just need something that’s simple to set up and access. I don’t need fancy features beyond the ability to play the music with a pleasant UI that can be accessed from the web (HTTP, not HTTPS). I’d be running this from a Raspberry Pi 3B which already has the lighttpd server running.

I’m also considering just getting a portable, 128GB FLAC player with a minijack connection and moving on with my life without getting involved in networking at all.

Any recommendations for an uncomplicated way to approach to doing this?

Edit: Thanks so much for the helpful and enthusiastic comments! I tried Navidrome and had it up and running in ten minutes thanks to this tutorial video: https://invidious.nerdvpn.de/watch?v=7V5UUJlSknY

I had to install docker-compose on the RPi. Then I got an error which turned out to be because I also needed a separate docker daemon which I installed following these instructions: https://www.simplilearn.com/tutorials/docker-tutorial/raspberry-pi-docker

In just 10+ minutes I had my music collection accessible from all my devices - thanks again!

34 points

I use Navidrome, it’s a single binary and gives you your own Spotify, kinda. It can be use with many other apps, in addition to the web interface, as it supports the subsonic protocol.

permalink
report
reply
13 points

I got Navidrome working on the local network quickly with docker compose thanks to this video: https://invidious.nerdvpn.de/watch?v=7V5UUJlSknY

Once I forwarded the right port on my router I was also able to access the music from the web. Thanks for the recommendation, I’m very happy!

permalink
report
parent
reply
7 points

Another tip, please be very careful when exposing ports to the public. With docker you’re already mitigating your attack surfaces but an open port allows anyone to make a connection and there are lots of bots out there looking for open ports and vulnerabilities. A good alternative would be to setup wireguard and instead then connect through that or if you like simplicity check out Tailscale.

permalink
report
parent
reply
3 points

Thanks for that. I’ll look into tail scale (since you mentioned the magic word, ‘simplicity’). My domain doesn’t have any links to the pages on my server, and Navidrome is username and password protected. Would that be safe enough? I am using unencrypted http, though.

permalink
report
parent
reply
2 points
*

Especially with music, if any of this is plain HTTP (or any other plaintext, non-encrypted protocol) and you live in a lawsuit happy jurisdiction you might end up with piracy letters in the mail.

permalink
report
parent
reply
6 points

I saw in your update you mentioned installing docker-compose. Modern docker has “compose” as a verb, and should work as docker compose. I haven’t tested this on raspberry pi though.

permalink
report
parent
reply
4 points

You’re right. It’s just that the package to installed is called docker-compose (if I remember right. I’m on mobile now). So the command to install was: apt install docker-compose, and the command was: docker compose. Thanks man.

permalink
report
parent
reply
10 points

Seconding Navidrome. I stream from my Navidrome server to my phone, and then via DLNA from my phone to my HiFiBerry / stereo system. It’s very nice.

permalink
report
parent
reply
-1 points

I tried navidrome but the issue I ran into is that it would not play individual songs or sort through them, it would just play my albums in alphabetical order.

And I don’t know as far as jelly fin goes, I like it as a video platform but for music I couldn’t get it to just randomly display the songs and let me shuffle through them.

I’m looking for a music server that can see all of my songs and music and shuffle them and play them. Does anything like that exist?

permalink
report
parent
reply
4 points

I’m not sure when you were using it, but Navidrome definitely let’s you play individual songs and shuffle.

permalink
report
parent
reply

Navidrome does that. I think you just used a bad frontend. Try Tempo if you’re using Android. Or Feishin on desktop.

permalink
report
parent
reply
25 points

I use Jellyfin in a way that sounds like what you want. You run a Jellyfin server wherever your FLACs are, access it via the web, and play things through your browser — or through Finamp on Android, in my case.

permalink
report
reply
6 points

I can vouch for Jellyfin - Nothing harder than setting up docker and connecting via Finamp. Been a very “set it and forget it” experience for me.

permalink
report
parent
reply
3 points

Jellyfin + Symphonium as a client on android 💯

permalink
report
parent
reply
14 points

Plex is probably the easiest and most convenient, I think jellyfin is viable too, but I don’t use it.

If you’ve got the money, Roon or Audirvana are the gold standard of self hosted music

If you want something similar, but free, look into things like volumio or subsonic based solutions.

permalink
report
reply
8 points

Seconding Plex / Plexamp if the use case involves streaming remotely. Probably the easiest to get up and running for remote access.

I’m not sure about the capabilities of hosting on a Pi, but it should be straightforward to run a couple different apps in parallel to test and compare features (I’m currently doing exactly that with Plex and Jellyfin)

permalink
report
parent
reply
2 points
*

If you already have a NAS, (since SMB was mentioned, I’m assuming there’s some sort of NAS setup going) then you may even be able to host Plex directly on the NAS. It likely won’t be powerful enough for things like video transcoding, but just audio should be fine.

permalink
report
parent
reply

I’ve been very happy with Navidrome. I have it accessible on a subdomain, so I can just use it from wherever I want. Feishin is a great frontend for Linux desktop, and Tempo is a great frontend for Android.

My friend uses Jellyfin instead of Navidrome, and he’s also happy with it. Both the frontends that I mentioned work with Jellyfin as well.

permalink
report
reply
5 points

Second Navidrome. I use it with the android app Symfonium and have thoroughly enjoyed it.

permalink
report
parent
reply
5 points

I used Plex for a long time but moved to Jellyfin after reading about the general direction Plex is going (trying to commercialize it, partner up with industry, make it more than just a self hosted media service).

Both have what you’re looking for.

I would say Plex is slightly easier and has the benefit of PlexAmp (available for Linux, Windows, and mobile).

That being said, Jellyfin is about the same ease to get set up, but it’s just a tad less polished, but in sort of a nice way. It feels more like “yours”, if that makes sense.

For both, I recommend hosting them in Docker, using Docker Compose, and using the LinuxServer version. LinuxServer maintains updated software, packaged in an easy to install format and they help you out with sample Docker Compose files and explanations to get things running.

permalink
report
reply

Selfhosted

!selfhosted@lemmy.world

Create post

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!

Community stats

  • 4.7K

    Monthly active users

  • 3.5K

    Posts

  • 78K

    Comments