DEV Community


Posted on

Automating your own home media server with Jellyfin 🎐 + Ubuntu 🐧

Building upon this article I wrote on how to torrent from a CLI, we can automate managing a home media server.

Think of self-hosting your own Netflix, where you choose the content you want to have.

Jellyfin is a completely FOSS media server, with customizable CSS themes. It exposes a webapp running on port 8096, with an easy-to-use admin dashboard.

By default, this webpage will be discoverable on your local network, but you can run it on a webserver to expose it outside of your network.

Following this guide, we can set Jellyfin up.

Here are the commands in a TL;DR:

sudo apt install apt-transport-https
wget -O - | sudo apt-key add -
echo "deb [arch=$( dpkg --print-architecture )]$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
sudo systemctl enable jellyfin
sudo systemctl start jellyfin
Enter fullscreen mode Exit fullscreen mode

Once completed, go to localhost:8069 in a browser, and follow the instructions which Jellyfin presents.

It is good practise to have a media folder ready to point your Movies or Television media to in Jellyfin.

Now, on to automating the download process:

You could either SSH into your device which you will be hosting your media server onto and use this as a guide to torrent into that directory, OR you could use Radarr.

Radarr is good because it allows for automated file upgrades to a higher resolution, if available.

You can create lists and automate downloads with your favorite torrent application.

Whatever approach you use for building your media directory, just remember to "sync files & metadata" in Jellyfin.

Visiting the local network ip followed by port 8069 of the device which you installed jellyfin on will allow you to stream the content on your home media server.

You can grab the local ip of the machine by entering:

hostname -I
Enter fullscreen mode Exit fullscreen mode

To stop the jellyfin mediaserver at anytime, just enter:

systemctl stop jellyfin
Enter fullscreen mode Exit fullscreen mode

Enjoy πŸ‘

Top comments (0)