About Jellyfin
Jellyfin is like your personal Netflix or some OTT. You can store your media... be it movies or shows on a hard disk connected to the server running Jellyfin.
You can use Jellyfin's own media player or even use external players with it. It has both windows and android apps. Most importantly, it is open-source.
Installation
After trying out Plex Media Server, I shifted to Jellyfin. It is open source and is much better. It automatically sorts the media files and adds metadata and other details.
A few issues I faced with Plex are sudden crashes and the app eats up storage very fast. The plexamp app does not work with non-internal networks. Their playlist management is not good either.
Jellyfin doesn't keep eating up storage and it has good apps for windows and android.
curl https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/jellyfin-archive-keyring.gpg arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
This should install Jellyfin on your Pi. If you are using ufw firewall, don't forget to allow 8096 port.
Configuration
Once installed, if the media is on external storage, Plex can't display it as linux locks the viewing of it or something like that. So, I changed the mount point while using plex.
But I don't know if Jellyfin requires that. If it is required, you can check out the process from
here.
Now, you can go to Jellyfin on your http://local_ip:8096.
From that you can use zrok to access it on the internet.
Install zrok on your RPi
curl -sSf https://get.openziti.io/install.bash | sudo bash -s zrok.
You can find the code needed to enable zrok from the account. You need to activate it with
zrok enable your_code
zrok reserve public 8096 -n "rpi_jellyfin" will reserve the domain name for you.
To start share, use
zrok share reserved "rpi_jellyfin".