I was unable to find a jellyfin-server package in OpenSUSE’s repositories or in any OBS repositories. One day I will learn how to package via OBS and submit it to a repository, but for now this is how I install my Jellyfin server.
This tutorial will be using the TAR generic package, found on repo.jellyfin.org, at the time of writing the current version is 10.9.9 with ffmpeg 6.0.1-8. I am writing this for anybody that just could not or did not find the tutorial on Jellyfin’s website, and also because it left out some information. Most of this will just be copying Jellyfin’s instructions from their documentation page.
Step 1: obtaining the packages. This can be done through the terminal, but I still suggest checking the website to verify versions.
visit https://repo.jellyfin.org/
Home → Server → Generic Linux portable archives (.tar) → Current Stable → AMD64 → jellyfin_VERSION-amd64.tar.xz
Home → FFmpeg → Generic Linux portable archives (.tar) → FFmpeg 6.x (Jellyfin 10.9.z) → AMD64 → jellyfin-ffmpeg_VERSION_portable_linux64-gpl.tar.xz
To download via the terminal:
sudo cd ~/Downloads
sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.9.9-amd64.tar.xz
sudo wget https://repo.jellyfin.org/files/ffmpeg/linux/latest-6.x/amd64/jellyfin-ffmpeg_6.0.1-8_portable_linux64-gpl.tar.xz
Step 2: extracting our .tar files
cd ~/Downloads
sudo tar -xf jellyfin_VERSION-amd64.tar.xz
sudo tar -xf jellyfin-ffmpeg_VERSION_portable_linux64-gpl.tar.xz
Step 3: making our Jellyfin Server directory, you should still be cd’ed into your Downloads folder.
sudo mkdir /opt/jellyfin
sudo mv jellyfin /opt/jellyfin/
Step 4: making our jellyfin-ffmpeg directory, still cd’ed into your Downloads folder
sudo mkdir /usr/share/jellyfin-ffmpeg
sudo mv ffmpeg /usr/share/jellyfin-ffmpeg/
sudo mv ffprobe /usr/share/jellyfin-ffmpeg/
Step 5: creating a symbolic link to our directory
cd /opt/jellyfin
sudo ln -s jellyfin_VERSION jellyfin #At the time of writing it is jellyfin_10.9.9
Step 6: creating sub-directories for Jellyfin data, you should be cd’ed into /opt/jellyfin
sudo mkdir data cache config log
Step 7: installing and running Jellyfin server, still cd’ed into /opt/jellyfin
sudo nano jellyfin.sh
Paste the following commands, and if you chose different directory paths than I did then make sure those changes are reflected in this script.
#!/bin/bash
JELLYFINDIR=”/opt/jellyfin”
FFMPEGDIR=”/usr/share/jellyfin-ffmpeg”
$JELLYFINDIR/jellyfin/jellyfin \
-d $JELLYFINDIR/data \
-C $JELLYFINDIR/cache \
-c $JELLYFINDIR/config \
-l $JELLYFINDIR/log \
--ffmpeg $FFMPEGDIR/ffmpeg
after pasting the above into your new nano document press CTRL+O to create the file, and CTRL+X to exit nano.
Now we change ownership to our normal user and make our new script executable:
sudo chown -R user:gorup *
sudo chmod u+x jellyfin.sh
finally, run this script:
./jellyfin.sh
Step 8: creating a systemd unit file for starting on boot, this is optional
cd /etc/systemd/system
sudo nano jellyfin.service
paste the following into your new nano document, replacing ‘youruser’ with your actual username
[Unit]
Description=Jellyfin
After=network.target
[Service]
Type=simple
User=youruser
Restart=always
ExecStart=/opt/jellyfin/jellyfin.sh
[Install]
WantedBy=multi-user.target
again, to write the document to a file, CTRL+O then CTRL+X to exit nano.
Change permissions, enable, and start:
sudo chmod 644 jellyfin.service
sudo systemctl daemon-reload
sudo systemctl enable jellyfin.service
sudo systemctl start jellyfin.service
Your server should now be installed, running, and pointing to the correct ffmpeg version.
From here you follow the normal server setup by opening a browser and going to 192.168.1.100:8096 , obviously changing it to match your IP address
YOUR.IP.ADDRESS:8096
I do not allow remote connections, so I do not have instructions for setting yourself up to do that. If you wish to have remote access visit Jellyfin’s documentation on networking.
To update to newer Jellyfin and ffmpeg versions follow steps 1 through 5, but without any mkdir commands as you already have the directories.