Jellyfin Update

It's been a while since I covered Jellyfin, and I felt like it was time for an update.

The install method, has not changed honestly, but I've learned a bit more about docker since my first video, so I thought I'd give you an update to help you get the most out of your Jellyfin install.

What's Jellyfin?

It's an open source, self hosted media player with a great UI, apps for Roku, Amazon Firestick, Android, iOS, Google Chromecast, there are even client apps for AppleTV (TVOS), and even more devices I'm not listing.  You can see all of the clients by visiting their site at this address:

https://jellyfin.org/clients/

The AppleTV (TVOS) Apps are 3rd party for now, but Jellyfin is working on their own AppleTV app as well.

I have both Infuse, and MrMC on my TVOS, and both work well.  I do use Infuse more, as I simply prefer the look and functionality of it.

Here are links to get to these apps as well:

If you're a Plex or Emby user, then you know exactly what Jellyfin is. It's the open source version that doesn't charge you (yet, anyway) for the ability to get to your media from outside your network, or to use add-ons that just make sense for a media player.

It has come a long way since my first video on it, and it's only gets better and better. The Jellyfin team is constantly putting out great, new updates, and I can't give it enough stars to make you understand how excellent this open source software is.

Install

You'll need:

  • Docker-CE
  • (optional) Portainer
  • Some familiarity with the command line.

NOTE: the following instructions are for install in Linux based OSes.

To Install Docker, You can run the following script from the official docker pages:

curl -fsSL https://get.docker.com -o get-docker.sh

Next, we'll install Jellyfin.  You'll need to know the following information.

  • Where is your media (movies, TV Shows, music) stored? You need a folder path that takes you to this media.

My media is stored at /mnt/video/arr/data/media. This is how I navigate to the media in my terminal using the cd command.

e.g. cd /mnt/video/arr/data/media

Now, you'll want to make a new folder called "Jellyfin":

mkdir Jellyfin

Move into that folder, and create a new file called "docker-run.txt".

cd Jellyfin

nano docker-run.txt

Now paste the following code block into that file.  You can use the method of highlight, right-click, copy to copy the block.  In your terminal you can use right-click, paste to paste into the file you just opened.

docker run -d \
--volume </path/to/your/>Jelllyfin/config:/config \
--volume </path/to/your/>Jelllyfin/cache:/cache \
--volume </full/path/to/your/media>:/media \
-p 8096:8096 \
--name=jellyfin \
--restart=unless-stopped \
jellyfin/jellyfin

In the text file you paste, you'll need to change the volume lines by replacing anything inside the "<" and ">".

You'll want to replace those placeholders with the actual folder paths to your Jellyfin folder, and your media folder. For me that block looks like:

docker run -d \
--volume /home/brian/docker/Jelllyfin/config:/config \
--volume /home/brian/docker/Jelllyfin/cache:/cache \
--volume /mnt/video/arr/data/media:/media \
--net=host \
--name=jellyfin \
--restart=unless-stopped \
jellyfin/jellyfin

Once, everything is set properly, you can save the file with CTRL+O, then press Enter to confirm, and next use CTRL + X to exit the nano editor.

Finally, to pull down, and run Jellyfin, you'll simply display the contents of the docker-run.txt file with the command:

cat docker-run.txt

Then highlight the code once more, right click, and copy.  Next, right click at the command prompt (the blinking cursor), and select paste.

Press Enter on your keyboard, and the image will start to pull down from dockerhub.

Docker-Compose

If you prefer docker-compose, here's a docker-compose.yml for you to work with instead:

version: '3.3'
services:
    jellyfin:
        volumes:
            - '</path/to/your/>Jelllyfin/config:/config'
            - '</path/to/your/>Jelllyfin/cache:/cache'
            - '</full/path/to/your/media>:/media'
        ports:
            - '8096:8096'
        container_name: jellyfin
        restart: unless-stopped
        image: jellyfin/jellyfin

Let it finish, then give it just a minute or so to get the Jellyfin app up and running.

Now, in your browser (Firefox, Chrome, Edge, Vivaldi, Brave, Opera, etc) navigate to your host machine's IP address and port 8096.

For me, I go to http://192.168.10.26:8096 . Your address is likely to be different.

If everything went according to plan, you should see the Jellyfin welcome screen come up. Create an initial account, and use the wizard to setup your media content.  You'll be off to enjoying your own, self hosted content in no time.