Follow our step-by-step guide to install Jellyfin Media Server using Docker Compose. Enjoy a free and open source streaming solution today!
Have you ever dreamed of setting up your personal Netflix minus the monthly subscription fees? Well, you’re in for a treat! Enter Jellyfin, a fantastic free and open source media server that gives you full control of your media collection.
But let’s add a little tech magic on top: we’ll use Docker Compose to speed up the installation. If you’re scratching your head thinking, “Docker, what?”, don’t worry! We’ll break everything down into short, easy-to-follow steps.
By the end of this guide, you’ll have a sleek Jellyfin Media Server up and running, ready to serve up your favorite shows and movies. So, let’s dive in!
Before we set sail, let’s make sure we have all our digital tools in the box. In this sense, it is necessary to install Docker and Docker Compose to deploy a Jellyfin in containers.
So if you don’t have Docker installed yet, any of the following guides will be helpful:
The other essential component is Docker Compose. Remember, it is provided separately from Docker. Therefore, you must install Docker before adding Docker Compose; otherwise Compose won’t work.
Installing it is pretty simple, even if it’s not on your Linux system yet. To install Docker Compose, type the following two commands:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Install Jellyfin with Docker Compose
It’s time to arrive at the facility, armed with all the necessary tools.
Step 1: Set up the working directory
The first step is to create the project directory where our Docker Compose deployment file will be placed. Then switch to him; From now on, you will need to run all the commands later in this guide from that location.
Step 2 – Create a Docker compose file
Next we must create a “docker-compose.yaml”, as a template for our Docker setup. This file will define the services, volumes, ports, etc., telling Docker Compose what to do and how to configure our Jellyfin instance.
So, open your favorite text editor and paste the following content into it:
Of course, don’t forget to change Directive “/home/linuxiac/media“in the file above”volumes” to the full path to the directory on the computer you are running the Jellyfin docker instance on, which contains the media you will stream.
In other words, this directory will be mounted to the Jellyfin container’s file system at “/media.” This is where your movies, photos, music, etc. are expected to reside.
For the purposes of this guide, we have placed two directories inside that contain movies and photos.
Don’t forget to change the time zone (“T.Z. “) to the right one for you. You can find a complete list of all of them here.
Step 3: Deploy Jellyfin with Docker Compose
With the “docker-compose.yaml” defined, we are ready to run our Jellyfin docker instance using Docker Compose. So, make sure you are in the directory containing the file and run the following command to start and run the container in the background:
docker-compose up -d
The Docker image will start downloading. In the end, you should see a screen similar to the following, informing you that your Jellyfin server installation has been successfully deployed and is up and running.
Access and configure Jellyfin
Once the container is up and running, you can access the Jellyfin web interface by navigating to “http://your-server-ip:8096” in your web browser. If you access it from the same machine that the container is running on, you can also use “http://localhost:8096.”
The wizard Jellyfin will greet you. Select your preferred display language and click “Next.”
The Jellyfin server administrator account will be created on the next screen. Enter a username and password of your choice and continue by clicking “Next.”
It’s time to tell Jellyfin where our media is. Click on the “Add media library” button.
Select the content type, such as “Films“, “Music“, “Photos”, etc., then click the plus sign (“+ “) to specify where the directory is physically located on the container’s file system. In our case, we will add a directory containing movies.
To navigate, simply click on the directory names you see up to the full path, for example, “/media/movies” – is presented in the “File” field.
Important clarification! This is the path to the file system inside the container, referenced in “volumes“part of us”docker-compose.yaml” file. Not to be confused with that of the server on which the container is running.
In other words, on our host, the directory is, for example, “/home/linuxiac/media“, but inside the container, it is mounted as “/media”.
The directory will be previewed in the “Folders”so we can continue clicking the button”OK” button, keeping the other default settings.
On the next screen, you will see the currently added directories. If you wish, add others following the steps described above.
Don’t worry about having to add them all at once now. At a later stage, you will be able to modify the settings of each one, delete or add a new one, as we will show you at the end of this guide. So, just click “Next” button to continue. We’re almost done!
Choose the language you prefer to retrieve library media metadata and click “Next.”
We highly recommend going out”Allow remote connections to this server”marked on the next screen. Otherwise, you will not be able to connect other devices such as your phone, tablet, smart TV, etc. to the Jellyfin server.
And that’s it: we are ready! Click on the “Finish”To complete and save the configuration you made on the Jellyfin server.
You will be redirected to a screen to log in to your Jellyfin server. Enter the administrator username and password you created earlier and press “Log in.”
Your new Jellyfin server dashboard will welcome you and as we can see, our “Films“The library is there. You can click on it to explore its content.
Click on the hamburger menu in the top left corner of the screen and choose “Panel” from the list of options to add, edit, and delete a library from the Jellyfin server.
Then choose “Libraries” from the left and press the “ button+” button to add a new one. To edit the settings of an existing one or delete it, use the icon with the three vertical dots.
Jellyfin Client Applications
To install and connect to your Jellyfin media server, click this link to get the client apps for various devices including smartphones, tablets, and smart TVs.
And there you have it: a powerful, flexible, open source media server at your fingertips, ready to stream content to all your devices. Remember, the great thing about this setup is that it’s completely yours to customize, explore, and expand as your media collection grows and evolves.
As you can see, deploying Jellyfin media server with Docker Compose simplifies the installation and management of the media server, making it accessible and easy to configure.
We strongly recommend that you check out our “How to install and use Docker Compose” guide to familiarize yourself with basic Docker Compose commands and easily manage your new Jellyfin deployment.
Also, if you’re wondering, “Okay, but how do I update the Jellyfin container when a new version comes out?” there is no room for worry. We’ve got you covered! With the help of Watchtower and our detailed, easy-to-follow guide, “Watchtower: Automatically update Docker container images,” you will always have the most up-to-date version of Jellyfin.
Finally, we also recommend consulting the official documentation.
Thank you for choosing to navigate through this digital endeavor with us. Until our next technological adventure, happy streaming, dear friends!