How to install Jellyfin Media Server with Docker | spcilvly

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!

Previous requirements

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 "$(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.

mkdir jellyfin
cd jellyfin

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:

nano docker-compose.yaml
version: "3"
    container_name: jellyfin
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - jellyfin-config:/config
      - /home/linuxiac/media:/media
      - 8096:8096
    restart: unless-stopped

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.

The directory that stores our multimedia content.
The directory that stores our multimedia content.

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.

Install Jellyfin media server with Docker Compose.
Install Jellyfin media server with Docker Compose.

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.”

Select your preferred language.
Select your preferred language.

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.”

Create the Jellyfin administrator account.
Create the Jellyfin administrator account.

It’s time to tell Jellyfin where our media is. Click on the “Add media library” button.

Set up a media directory.
Set up a media directory.

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.

Set up a media directory.
Set up a media directory.

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”.

Set up a media directory.
Set up a media directory.

The directory will be previewed in the “Folders”so we can continue clicking the button”OK” button, keeping the other default settings.

Set up a media directory.
Set up a media directory.

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!

View added directories.
View added directories.

Choose the language you prefer to retrieve library media metadata and click “Next.”

Choose the preferred metadata language.
Choose the preferred metadata language.

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.

Configure remote access.
Configure remote access.

And that’s it: we are ready! Click on the “Finish”To complete and save the configuration you made on the Jellyfin server.

Completing the Jellyfin server setup.
Completing the Jellyfin server setup.

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.”

Log in to the server.
Log in to the server.

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.

The Jellyfin media server was successfully installed using Docker Compose.
The Jellyfin media server was successfully installed using Docker Compose.

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.

Add, edit and delete media libraries.
Add, edit and delete media libraries.

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!

Leave a Reply

Your email address will not be published. Required fields are marked *