I use a Plex server and the PlexAmp app wherever I want to listen. There are probably better options, but it's something I set up years ago which was dead simple and requires almost no maintenance.
Yup, that's what we do as well. 30tb of music, TV, and movies. All available to me and my friends wherever we are.
Plexamp is the best music service I’ve ever used and it’s a great way to get into self hosting. Once it’s set up why not add some tv and movies?
I started with TV and movies and thought why not add some music!
Agh Plex always rubs me the wrong way.... It acts like closed source software as much as is possible. Went with Jellyfin and it's been great. But haven't tried music.
I use Jellyfin for all my video but I use Plex for my audio. Plex app is just so much better than finamp.
PlexAmp is an amazing bit of software for a phone. It doesn't translate well to the desktop, but it's still pretty good.
Your flacs will play lossless on wifi, and transcode to 128kbps opus on mobile. You can tweak those settings too.
Most smart TVs have a native plex app available too.
Symphonium is a great Android music player which connects to a Subsonic or Jellyfin server (or any other protocol like SMB).
Navidrome is a music server which implements the Subsonic protocol. This means apps like Symphonium can connect to it.
Any old PC is enough, even a Raspberry Pi is fast enough for a music server.
- Install Navidrome on the server/pc
- Configure Navidrome (open ports, add your music library/folder)
- Connect a subsonic-compatible music app to to the server (I.e. type in IP or domain as well as the port).
Anything more like SSL (https) and a domain is optional for getting it working, and only a benefit if used outside of your home network. Using Tailscale makes a domain/SSL unnecessary and also no longer needs messing around with networking (e.g. no opening ports on the router).
On the topic of SMB. If OP is mostly interested in accessing the music from their phone, a symfonium + SMB server setup may be even easier than setting up navidrome
Can confirm. I have an arm board from 2010 with 256MB of RAM. it hosts music fine through minidlna and still has memory and cpu free
I use Jellyfin. You can find a very easy to deploy docker container by linuxserver.io team. Jellyfin has dedicated music only apps as well, for phones as desktops.
Maybe this is a stupid question, but what do you achieve with self-hosting music? What do you do with it? If it's only on localhost then I could just play the music locally? what is it for? :)
I forward it to my domain, so that I can listen to music in my office or anywhere else.
I have a VPS on hetzner, and I forward all my local traffic through that VPS via TLS-passthrough, not TLS termination using WireGuard amd HAProxy.
To know more about my setup, you can this this. https://blog.aiquiral.me/bypass-cgnat
Depends what you want to play it on. In my house we have:
3 laptops 2 tablets 2 mobile phones (1 android, 1 iPhone) TV
Not all these devices support local storage for music and it's a pain to sync files between them. With Jellyfin the complete library is in one location with a consistent interface. It can also be made available remotely if I choose.
That actually makes a lot of sense, thanks!
Welcome
jellyfin is a streaming server. get yourself a domain name and you can connect your apps to it from anywhere.
You can stream it wherever you are in the world without having to keep it on your phone
I've always wondered that. Why use linux server's images over official ones? Are they somehow better?
When I first used Jellyfin, the official Docker image didn't have AMD video acceleration working out of the box and the LinuxServer one did.
LinuxServer images often solve problems and work out of the box better than the official option.
I think I'm right in saying they have a standardised and reliable option for running as a none-root user too.
For normal docker self hosters the biggest is similar structures across their images.
It config is always /config
Also they run the same user so it helps with file permission issues
Hmm, never looked at it this way. I might start using their images too.
Questions about the user:
1- Their docs says it may be risky to run the app as root. Is the root in the docker container same as root of the host? I thought it was root but only in the container, separate from the host root's namespace.
2- And in terms of volume ownership: if I'm using Docker volumes instead of bind mounts, do I care about that? I haven't had an issue so far.
They're relatively easy to deploy.
Or just run Jellyfin on your desktop and sync the phone app from time to time. Finamp even allows downloads, so no connection to the server needed at all times.
That is a different usecase though. That is simply syncing local musical with a server.
I do that too because i have an SD card. Just use Syncthing for that. Much faster and less hassle. You can use any music player on your phone that you want, not just one that works with jellyfin.
If you aren't streaming music in real time for the majority of time, then do a phone sync, not a streaming server.
I'm going to go another route here: do you need streaming?
Like, I've simply gone with a giant pile of FLACs that I put on a SD card for my phone, and use over the NAS for when I'm at home and don't currently use any fancy-pants streaming stuff.
So like, depending on how you're using your music library, you might not even need to drop deep into the giant self-hosting rabbithole for this.
I mean, most high-end phones today doesn't support SD cards so this can be a reason why to selfhost.
There are lots of solutions, but as others have noted, Plex with Plexamp is great.
I’d recommend getting a NAS for storage and running mirrored disks. This way you’ve got some redundancy in the event of a disk failure.
There are many different ways, but personally (and hopefully I don't get crucified for saying this) I use Plex and Plexamp. Plexamp has got to be the best music app I've ever used. I even tied it into Last.fm to get recommendations for new music based on my listening.
You'd need to set up Plex media server to go this route: https://support.plex.tv/articles/200264746-quick-start-step-by-step-guides/
Personally I host via Docker.
It might be a little overkill if you don't have other media, though, and it's not fully open source.
Plex is good and the Plexamp app for music is excellent.
What I've been doing:
Easy option: because I only have around 40gb of music, I sync it between my PC and my phone using syncthing since 128gb is the minimum nowadays
Hard option: streaming is cooler so I installed nextcloud with an optional plugin called "music" which allows to connect an app called "ultramusic" and it becomes "self hosted Spotify" with android auto support and all the bells and whistles. Disadvantage: Nextcloud is a moving target. For some reason they have to release new incompatible versions every two or three months. So for plugin developers this is a very annoying upgrade threadmill that eventually leads to burnout and that plugin dies. Even officially supported plugins sometimes don't support the latest version when they launch it. If you choose to use nextcloud with docker, make sure to stay behind 1-2 versions (tag nextcloud:28 when nextcloud:30 is released) or your plugins might suddenly break without any warning. According to fanboys this is the industry standard nowadays and it's up to the user to manually check the GitHub issues of each of the 30 plugins if it's compatible before updating. Even if it's official plugin. They call it "stable" but they mean "beta testing for the paid enterprise version".
Music assistant on home assistant or without HA will let you host your own music but also allow for the addition of streaming providers. It lets you cast your collection to pretty much any speakers. You can even build your own cast receivers with any android device and squeeze cast.
Actually, I'm gonna add another really simple option: Lyrion (Formerly Logitech Media Server). My wife swears by this one, supports local library, integrates with LastFM, and if you use Tidal, Qobuz, Deezer, or Spotify, you can integrate your streaming service with your local library for radio mixes.
Can install it right on a laptop or PC and connect to wherever your music is (local on the machine, on a NAS, etc.). After you install it, you can access it directly via a web browser or webapp, which will make it accessible from desktop or phone.
There are two main ways you can do it. You’ve already mentioned you have your library/music files, so that’s a good start, you’re basically looking for a way to access it on other devices. The first way would be to set up an old PC/rent a cloud server, and set up the service you want to use, though for now this may be a bit too complex if all you want to do is stream your own music, and have no experience. That being said, it’s always good to have a look and see, there may be a tutorial that works for you if you want to go down this route.
You’ve mentioned Navidrome, and it’s a good shout, basically just looks at the folders of music you have, and lets you stream them to your phone/PC (and more) like Spotify or Google Music. For the simplest possible setup, I’d recommend a service like Pikapods (https://pikapods.com), which essentially selfhosts applications for you, and gives you access to the files. For Navidrome, for 50GB storage (and the recommended settings of 1 CPU core and 0.5GB RAM), it’s $3.01 a month, which, though not free, is very affordable if that’s all you want to do, plus they handle updates, etc. You shouldn’t need to set any variables, and can upload your music to their service via FTP (File Transfer Protocol, a way to copy files to another PC/server from your PC), and they have docs on how to do that on the site.
Hope this helps :P
What's wrong with just throwing MP3s on an SD card, or hard drive?
Edit: Love how I have 4 upvotes, 4 downvotes. So a pretty divicive statement I've made. Yet nobody has told me why mp3s on local storage is or is not a solution for self hosting music. No opinions shared, other than angry arrows in both directions.
Cool. Cool. Cool. Cool.
Files on a SD card is what I do. It's so simple.
however, i know nothing about self hosting. My knowledge is absolutely zero [...] I dont understand nothing
This is going to be a problem, unfortunately. You'll need to define your use case first:
- How much music do you want to have access to? Hundreds, thousands, millions of files? How large is your collection?
- Do you have downloaded copies of all the music you want to listen to? Are they all in one place, well organized and tagged? If you just have downloads in the Spotify app, you won't be able to use those files, you don't actually own that music. You'll need DRM-free audio files.
- Where and how do you want to be able to access them? Just from one device like your phone? Many devices? Is having access at home good enough, or do you want to be able to access your collection while you're away from home?
- Will you be the only user?
- What kind of budget do you have to work with?
An old PC might be enough to act as a server, but there's more involved and the answer to what you need depends on what exactly you want to do. You will not be able to build a personal version of Spotify with just an old PC, for instance.
Skimmed comments, but if you download and manage your music on your own on a machine you can have a super simple setup like I do. All music is synced using Syncthing to my phone. So my phone gets local storage, and then I use Poweramp (android) to play it.
I pretty much have a folder for all the music though. But I assume you can sort music into folders to have them as playlists. But perhaps not as practical as desired.
Isn't Syncthing for Android getting sundowned?
Use syncthing-fork from fdroid.
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!