sources/tech/20190321 How To Setup Linux Media Server Using Jellyfin.md
12 KiB
How To Setup Linux Media Server Using Jellyfin
We’ve already written about setting up your own streaming media server on Linux using Streama. Today, we will going to setup yet another media server using Jellyfin. Jellyfin is a free, cross-platform and open source alternative to propriety media streaming applications such as Emby and Plex. The main developer of Jellyfin forked it from Emby after the announcement of Emby transitioning to a proprietary model. Jellyfin doesn’t include any premium features, licenses or membership plans. It is completely free and open source project supported by hundreds of community members. Using jellyfin, we can instantly setup Linux media server in minutes and access it via LAN/WAN from any devices using multiple apps.
Setup Linux Media Server Using Jellyfin
Jellyfin supports GNU/Linux, Mac OS and Microsoft Windows operating systems. You can install it on your Linux distribution as described below.
Install Jellyfin On Linux
As of writing this guide, Jellyfin packages are available for most popular Linux distributions, such as Arch Linux, Debian, CentOS, Fedora and Ubuntu.
On Arch Linux and its derivatives like Antergos , Manjaro Linux , you can install Jellyfin using any AUR helper tools, for example YaY.
$ yay -S jellyfin-git
On CentOS/RHEL :
Download the latest Jellyfin rpm package from here and install it as shown below.
$ wget https://repo.jellyfin.org/releases/server/centos/jellyfin-10.2.2-1.el7.x86_64.rpm
$ sudo yum localinstall jellyfin-10.2.2-1.el7.x86_64.rpm
On Fedora :
Download Jellyfin for Fedora from here.
$ wget https://repo.jellyfin.org/releases/server/fedora/jellyfin-10.2.2-1.fc29.x86_64.rpm
$ sudo dnf install jellyfin-10.2.2-1.fc29.x86_64.rpm
On Debian :
Install HTTPS transport for APT if it is not installed already:
$ sudo apt install apt-transport-https
Import Jellyfin GPG signing key:``
$ wget -O - https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | sudo apt-key add -
Add Jellyfin repository:
$ sudo touch /etc/apt/sources.list.d/jellyfin.list
$ echo "deb [arch=amd64] https://repo.jellyfin.org/debian $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Finally, update Jellyfin repository and install Jellyfin using commands:``
$ sudo apt update
$ sudo apt install jellyfin
On Ubuntu 18.04 LTS :
Install HTTPS transport for APT if it is not installed already:
$ sudo apt install apt-transport-https
Import and add Jellyfin GPG signing key:``
$ wget -O - https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | sudo apt-key add -
Add the Jellyfin repository:
$ sudo touch /etc/apt/sources.list.d/jellyfin.list
$ echo "deb https://repo.jellyfin.org/ubuntu bionic main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
For Ubuntu 16.04, just replace bionic with xenial in the above URL.
Finally, update Jellyfin repository and install Jellyfin using commands:``
$ sudo apt update
$ sudo apt install jellyfin
Start Jellyfin service
Run the following commands to enable and start jellyfin service on every reboot:
$ sudo systemctl enable jellyfin
$ sudo systemctl start jellyfin
To check if the service has been started or not, run:
$ sudo systemctl status jellyfin
Sample output:
● jellyfin.service - Jellyfin Media Server
Loaded: loaded (/lib/systemd/system/jellyfin.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/jellyfin.service.d
└─jellyfin.service.conf
Active: active (running) since Wed 2019-03-20 12:20:19 UTC; 1s ago
Main PID: 4556 (jellyfin)
Tasks: 11 (limit: 2320)
CGroup: /system.slice/jellyfin.service
└─4556 /usr/bin/jellyfin --datadir=/var/lib/jellyfin --configdir=/etc/jellyfin --logdir=/var/log/jellyfin --cachedir=/var/cache/jellyfin --r
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading Emby.Photos, Version=10.2.2.0, Culture=neutral, PublicKeyToken=null
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading Emby.Server.Implementations, Version=10.2.2.0, Culture=neutral, PublicKeyToken=nu
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading MediaBrowser.MediaEncoding, Version=10.2.2.0, Culture=neutral, PublicKeyToken=nul
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading Emby.Dlna, Version=10.2.2.0, Culture=neutral, PublicKeyToken=null
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading MediaBrowser.LocalMetadata, Version=10.2.2.0, Culture=neutral, PublicKeyToken=nul
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading Emby.Notifications, Version=10.2.2.0, Culture=neutral, PublicKeyToken=null
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading MediaBrowser.XbmcMetadata, Version=10.2.2.0, Culture=neutral, PublicKeyToken=null
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Loading jellyfin, Version=10.2.2.0, Culture=neutral, PublicKeyToken=null
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Sqlite version: 3.26.0
Mar 20 12:20:21 ubuntuserver jellyfin[4556]: [12:20:21] [INF] Sqlite compiler options: COMPILER=gcc-5.4.0 20160609,DEFAULT_FOREIGN_KEYS,ENABLE_COLUMN_M
If you see an output something, congratulations! Jellyfin service has been started.
Next, we should do some initial configuration.
Configure Jellyfin
Once jellyfin is installed, open the browser and navigate to – http:// :8096 or http:// :8096 URL.
You will see the following welcome screen. Select your preferred language and click Next.
Enter your user details. You can add more users later from the Jellyfin Dashboard.
The next step is to select media files which we want to stream. To do so, click “Add media Library” button:
Choose the content type (i.e audio, video, movies etc.,), display name and click plus (+) sign next to the Folders icon to choose the location where you kept your media files. You can further choose other library settings such as the preferred download language, country etc. Click Ok after choosing the preferred options.
Similarly, add all of the media files. Once you have chosen everything to stream, click Next.
Choose the Metadata language and click Next:
Next, you need to configure whether you want to allow remote connections to this media server. Make sure you have allowed the remote connections. Also, enable automatic port mapping and click Next:
You’re all set! Click Finish to complete Jellyfin configuration.
You will now be redirected to Jellyfin login page. Click on the username and enter it’s password which we setup earlier.
This is how Jellyfin dashboard looks like.
As you see in the screenshot, all of your media files are shown in the dashboard itself under My Media section. Just click on the any media file of your choice and start watching it!!
You can access this Jellyfin media server from any systems on the network using URL – http://ip-address:8096. You need not to install any extra apps. All you need is a modern web browser.
If you want to change anything or reconfigure, click on the three horizontal bars from the Home screen. Here, you can add users, media files, change playback settings, add TV/DVR, install plugins, change default port no and a lot more settings.
For more details, check out Jellyfin official documentation page.
And, that’s all for now. As you can see setting up a streaming media server on Linux is no big-deal. I tested it on my Ubuntu 18.04 LTS VM. It worked fine out of the box. I can be able to watch the movies from other systems in my LAN. If you’re looking for easy, quick and free solution for hosting a media server, Jellyfin is a good choice.
Cheers!
via: https://www.ostechnix.com/how-to-setup-linux-media-server-using-jellyfin/