this post was submitted on 14 Sep 2024
109 points (97.4% liked)

Selfhosted

40183 readers
498 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'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!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 2 months ago (3 children)

It is plain HTTP. There's a username and password needed to log in and access the music, though if that helps?

[–] [email protected] 2 points 2 months ago (2 children)

Plain HTTP means anyone between you and the server can see those credentials and gain access.

It it using HTTP Basic Auth by chance? It would be so easy to put nginx (or some other reverse proxy with TLS) in front and just pass the authentication headers.

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

I don’t know what kind of authentication it uses, but it dots appear to be susceptible to brute force https://github.com/navidrome/navidrome/issues/242

But if I add a reverse proxy I would need it to just affect that one service/port. I’m running a publicly facing static (amateur/hobby) website - and other services - from there too and I’d prefer it to remain public.

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

All of my public facing sites are behind a reverse proxy. I use Nginx Proxy Manager it runs from docker and has an easy webgui. It takes care of things like https certificates and stuff to.