Install Using Docker-CE
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:
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.
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.
What You'll Need
- A Host Machine / Server to run it on
- (optional) Portainer-CE
- (optional) NGinX Proxy Manager
Installation via a Simple Script
You can easily install Docker-CE, Docker-Compose, Portainer-CE, and NGinX Proxy manager by using this quick install script I created and maintain on Github. Just use the command:
To download the script to your desired host.
Change the permissions to make the script executable:
chmod +x ./install_docker_nproxyman.sh
and then run the script with the command:
When run, the script will prompt you to select your host operating system, then will ask you which bits of software you want to install.
Simply enter 'y' for each thing you want to install.
At some point, you may be asked for your super user (sudo) password as well.
Allow the script to complete installation.
At this point, you might want to log out and back in, as this will allow you to use the
docker-compose commands without the need of sudo in front of them.
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
Now, you'll want to make a new folder called "Jellyfin":
Move into that folder, and create a new file called "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:
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.
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
You can run the docker-compose.yml file by using the command:
dockeer-compose up -d
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.