I’m a fan of buying and owning music, as opposed to just streaming it via one of the usual services. I’ll save the big discussion about my reasons for doing this for another time, and just assume that everyone reading this article can relate in some way.

I was pretty happy when I discovered Plex a long time ago, because it basically solved my problem of wanting to have something like a private, self-hosted Spotify. I was okay with swallowing the bitter pill of it not being open source, and I was actually happy to pay for the Plex Premium pass because it meant there was some kind of business model behind the project.

Some time ago I discovered Jellyfin and thought it might be a good alternative. However, lazy as I am, I haven’t made the switch yet, mainly because I was afraid it would be a complex migration.
Even though I’m not personally affected by Plex’s announcement/action to ban Hetzner servers1, I still consider this a rather alarming move for several reasons. My plan to eventually move to Jellyfin at some point got a big boost in motivation because of this.

Since I was planning a long train ride anyway, I thought that doing the move (or at least the first steps of the installation) on this train ride would be the perfect opportunity.

As it turns out, the installation and setup is actually super easy, I had no problems at all.

I just followed the official installation instructions and mapped Jellyfin’s HTTP port (8069 by default) to a subdomain in my existing reverse proxy setup that also deals with TLS.
After that, I copied my entire music library to a new directory (cp -R), just to be on the safe side in case Jellyfin does something weird.
The last step was to go through the Jellyfin setup guide in the browser, which also worked without any problems. I also went through all the settings afterwards, but IIRC I didn’t change much except for some cosmetic things. The defaults seem pretty reasonable to me.

That’s it. I now have a working Jellyfin setup for streaming my music. The only thing left is to install the client on all my devices and download the music library for offline use on some of them.
The move itself took less than an hour, and in retrospect I should have done it much earlier.

With all that done, I’m now writing this blog article while still sitting on the train where I did the installation, because contrary to my expectations, I still have tons of time left on the train.

  1. See this ↩︎