Summary

The website provides a comprehensive guide to setting up a personal media server using Jellyfin and qBittorrent-nox, with optional advanced configurations involving Radarr, Sonarr, Lidarr, Readarr, and Jackett for an enhanced media streaming and downloading experience.

Abstract

The article outlines a step-by-step process for creating a personal media server, akin to Netflix, using open-source software Jellyfin for streaming and qBittorrent-nox as a BitTorrent client. It details the installation and setup of these tools on a server, which can be accessed remotely, and provides instructions for configuring transcoding in Jellyfin to optimize streaming quality and disk space usage. For users seeking a more automated and robust system, the guide extends to incorporating additional tools like Radarr for movies, Sonarr for TV shows, Lidarr for music, Readarr for ebooks and audiobooks, and Jackett as a proxy to torrent indexers. These tools work in tandem to automate the search, download, and streaming process, with Radarr and Jackett being highlighted for their roles in streamlining content acquisition. The article also includes practical tips for managing system resources and emphasizes the importance of legal considerations when using torrents.

Opinions

  • The author recommends using Digital Ocean for hosting the media server due to its performance and ease of use, even providing a referral link for potential users.
  • Jellyfin is praised for its media streaming capabilities and its support for various clients across different devices, with a note on its effectiveness in handling transcoding.
  • qBittorrent-nox is favored for its web interface and stability, with instructions provided to run it as a system service for ease of management.
  • The author advises caution regarding the legal implications of downloading copyrighted content without proper authorization, distancing the article from promoting piracy.
  • Acknowledging potential space limitations, the article suggests solutions for managing transcoded data and points to community resources like GitHub issues and projects for further assistance.
  • The article encourages users to stop services like qBittorrent-nox when not in use to conserve disk I/O and bandwidth, indicating an awareness of resource optimization.
  • The author expresses enthusiasm for the additional tools like Radarr and Jackett, which can significantly enhance the user's media management experience by automating the download process.
  • A cost-effective AI service alternative to ChatGPT Plus (GPT-4) is recommended, suggesting a preference for value-for-money solutions in the tech space.

Make your own Netflix (jellyfin, qBittorrent)

Let’s create your media server/seedbox to download and stream your multimedia content.

Firstly we will go for a simple solution with only two tools. And then, if you’re still reading, we go a bit further with more tools (Radarr, Jackett …).

Source unsplash

Disclaimer : The following article provides information on creating a media platform based on torrents. It is important to note that downloading copyrighted content without proper authorization from the content owner may be illegal in many jurisdictions. This article does not condone or promote any form of piracy or copyright infringement.

Jellyfin is an open-source software, we will use it to stream files (video, audio…) from your server. It also has many possible clients to watch your movies: web, mobile apps, android TV… One popular alternative is Plex.

qbitorrent-nox is a BitTorrent client with a web interface.

You can install them locally, on a Raspberry Pi or on a server.

I went for a server to access my movies from everywhere and to take advantage of the download speed. I’m used to using Digital Ocean to deploy my personal projects. I took a basic droplet (that’s how they name their virtual servers), for the moment it has enough performance to stream movies. And I added a 100Go volume to have more storage (the default 10Go is enough to host a website or an API, but for media it’s a bit low).

Here is my referral link, you can get 200$ of credits over 60 days, it’s more than enough to try multiple projects.

jellyfin

You can simply install jellyfin with this command on Ubuntu

curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

to install it on other systems check the documentation, because it can defer

You can now open Jellyfin in your browser at ip-address:8096. Follow the steps to create a user and set up your media library.

You can download jellyfin’s clients for mobile or desktop and use the same URL and credentials.

Transcoding

To be simple transcoding is the process of converting the format of video or audio files from one format to another. Transcoding is a crucial part of streaming media mainly because of bandwidth.

Don’t worry we are not going to code that part, Jellyfin does it well.

But it can be a problem if you have limited disk space because it will “duplicate” the data on your server for each movie your server is currently streaming.

For example, on my server, I have two disks of 10Go and 100Go. By default, all the transcoded data were stored on the little one. If I watched a 10Go movie, it will fill up the space within a few minutes which makes jellyfin crash.

To avoid that, you can change the folder where jellyfin store the transcoded data directly on the UI in Dashboard >PlayBack > transcoding folder.

You can also change the frequency of cleaning the folder in : Dashboard > Advanced > Scheduled tasks > Clean transcode directory

If you have a very limited space you may still encounter the error. There is an issue opened here that can help you. And they made this project Jellyfin-Transcodes-cleanup, it’s a tool that clears transcode directory more often while avoiding streaming pauses/crashes.

qBittorrent-nox

get the repository and install it

sudo add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable
sudo apt install -y qbittorrent-nox

Now we have to create a file in the systemd folder, to use qBittorrent-nox as a service.

sudo nano /etc/systemd/system/qbittorrent-nox.service

Add the following lines to it :

[Unit]
Description=qBittorrentClient
After=network.target

[Service]
ExecStart=/usr/bin/qbittorrent-nox --webui-port=8080
Restart=always

[Install]
WantedBy=multi-user.target

You can now start the service with : systemctl start qbittorrent-now

And go the ip-address:8080 to access it via the web interface.

The default credentials are : usernameadmin and password : adminadmin

Usage

You can manage your services with

systemctl start qbittorrent-nox
systemctl stop qbittorrent-nox
systemctl restart qbittorrent-nox

systemctl start jellyfin
systemctl stop jellyfin
systemctl restart jellyfin

I advise you to stop qbittorrent-nowwhen you’re not using it to limit the usage of disk I/O and bandwidth.

You now have all you need, to download a movie and to watch it. You can also send the media you already own to your server and stream them.

Go further

There is plenty of other tools to improve our media platform.

There is a web app to search, monitor and download media Radarr (movies), Sonarr (TV shows), Lidarr (music), Readarr (ebook and audiobook).

Jackett is a proxy between an app (Radarr, Sonarr, Reader or Lidarr …) and indexers of torrents.

The service (Radarr, Sonarr, Reader or Lidarr …) will automatically search (thanks to Jackett) for the movie (or other media) on the internet. Once the requested media is found it will send a command to qBittorrent to download the file.

Let's try Radarr and Jackett !

Installing Radarr

We need to install model-devel an open-source C# .NET framework implementation, because Radarr is made in C#.

sudo apt install mono-devel

# Radarr dependenc
sudo apt install curl mediainfo 

# this will download and install Radarr
curl -L -O $( curl -s https://api.github.com/repos/Radarr/Radarr/releases | grep linux.tar.gz | grep browser_download_url | head -1 | cut -d \" -f 4 )
tar -xvzf Radarr.*.linux.tar.gz

you can run it with mono ~/Radarr/Radarr.exe and open it ip-address:7878

We can create a system file to run it as a service like the others.

sudo nano /etc/systemd/system/radarr.service

add these lines (adapt the path to Radarr and mono)

[Unit]
Description=radarr
After=yslog.target network.target

[Service]
ExecStart=/usr/bin/mono --debug /root/Radarr/Radarr.exe -nobrowser
Restart=always

[Install]
WantedBy=multi-user.target 

You can now run

systemctl enable radarr
systemctl start radarr

Installing Jackett

To install Jackett as a service run (source):

cd /opt && f=Jackett.Binaries.LinuxAMDx64.tar.gz && release=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) && sudo wget -Nc https://github.com/Jackett/Jackett/releases/download/$release/"$f" && sudo tar -xzf "$f" && sudo rm -f "$f" && cd Jackett* && sudo ./install_service_systemd.sh && systemctl status jackett.service && cd - && echo -e "\nVisit http://127.0.0.1:9117"

You may encounter an error while sudo ./install_service_sysremd.sh and you may need to change the ownership of the /opt/Jackett folder.

You now have another tool running at ip-address:9117

Configuration

Link Radarr & qBitorrent

In Radarr go to Settings > Download Client > Add

Select qBitorrent and add the credentials

Link Radarr & Jackett

In Jackett add indexers, don’t forget to filter your language.

The steps to add the indexers in Radarr are explained directly in Jackett :

  1. In Radarr Go to Settings > Indexers > Add > Torznab > Custom.
  2. Click on the indexers corresponding “Copy Torznab Feed” button and paste it into the Radarr URL field.
  3. For the API key use YOUR_KEY.
  4. Configure the correct category IDs via the (Anime) Categories options. See the Jackett indexer configuration for a list of supported categories.

Usage

You now can search for a Movie in Radarr.

Add it to your movie list.

From the movie, you can Search for sources, and click download.

Once the download is done, it is ready to watch in Jellyfin.

Don’t forget to turn off your services when you don’t use it, to optimise the resources for Jellyfin

Jellyfin
Torrent
Download
Netflix
Media
Recommended from ReadMedium