I installed Jellyfin on an iMac running Fedora 39/Gnome and it was running more or less without any issues. However, I wanted to have the iMac on a VPN which would prevent accessing content indexed by Jellyfin elsewhere. So I installed Ubuntu on an old Mac Mini that I had, planning to make it a NAS box as well as host Jellyfin. The install there did not go well at all, I got the error “The server is expected to host the web client, but the provided content directory is either invalid or empty.”
I found a post on github where a user created the directory listed in the error and then copied from /usr/share/jellyfin/web/ and when I did that the startup went further but then it threw the error “Kestrel failed to start! This is most likely due to an invalid address or port bind - correct your bind configuration in network.xml and try again.”
I could not find a clear answer as to where the “network.xml” file is located, and I couldn’t find any files that seemed to have the contents that were expected in network.xml. I put that aside for another day, considering a different distro if there are any others that are better with jellyfin than Ubuntu.
Today I was going to watch something that had been working on the Fedora box, and it would not play. I checked systemctl and jellyfin was not running. I tried launching it from the terminal and I got the same “server is expected to host the web client” error I had before.
Has anyone else run into these issues? Is there any better documentation out there than what is on the jellyfin site? Any help is much appreciated.
I’ve personally found that maintaing Jellyfin via Docker is far simpler and provides a more convenient upgrade path than a direct installation. I have a docker compose file in my home folder so when I want to upgrade it’s just
docker compose pull
followed bydocker compose up -d
I use my old MacBook air as a home server. I have installed Jellyfin via podman on Fedora 38. Containers make things a lot easier.
I recommended using linuxserver.io’s image.
Save yourself the trouble and go the docker route