Nowadays in this new era apartments are shrinking and we do not have enough space for a TV stand with DVD storage or maybe a shelf for DVDs, just as our parents did, so now we Millenials are having a different approach to storage since we adapt to changes and some of us prefer to own home server.
Server is not a big thing like it used to be now there are small servers with a raspberry pi or an old computer to turn them in a NAS. Having your own home server will allow you to share that media not only in LAN also stream content when you are at work or maybe in a different country, totally up to you.
Home Servers offer a bunch of different options and it is really convenient all depends on you and the needs you want to fulfill, of course, it needs a learning curve but the results will exceed expectations and here I will explain how to properly set up a home server for streaming content.
The amazing thing about setting up your own home server is that you can use it not only for streaming content, but you can also do a lot of different things such as home automation, website hosting, crypto mining and much more!.
If you don’t know what Plex is you can check out my previous post with some more details about it, over here I will assume that everybody knows what Plex is and that you have a spare computer or raspberry pi for this how-to.
My computer specs are:
- Intel processor i5 1151
- Nvidia 1660 ti
- 8gbs Ram memory
- 4TB HDD x2
- 250 GB SSD x1
- 1TB HDD
The set up is pretty easy also I recommend to create a Bash script just in case so if for whatever reason we need to reinstall everything we can just run that script and get over with, in less than 2 minutes, right now because I will explain all the steps this may take maybe 20 minutes or less depending on how comfortable you are with Linux, if you are completely noob you can also read my post *5 tips from a noob for noobs*.
Our first step Will be installing Plex since that app is not part yet of the Ubuntu repositories so we will have to download it manually, don’t worry about the version just yet.
wget https://downloads.plex.tv/plex-media-server/18.104.22.16888-cc260c476/plexmediaserver_22.214.171.12488-cc260c476_amd64.deb -P ~/Downloads/
Now that we have the installer saved in the ~/Downloads folder we will install it with the following command.
sudo dpkg -i ~/Downloads/plexmediaserver*.deb && sudo systemctl enable plexmediaserver.service
now that is installed we will add its own repository and now we will be able to Update/Upgrade to the correct version.
sudo sed -i '3 s/# deb/deb/' /etc/apt/sources.list.d/plexmediaserver.list && wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -
sudo apt update && sudo apt upgrade
Now that Plex is installed we will move on to the next step and that is installing our good old pirate friends Sonarr and Radarr.
The first step is to add the repositories to our system.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xA236C58F409091A18ACA53CBEBFF6B99D9B78493 && echo "deb http://apt.sonarr.tv/ master main" | sudo tee /etc/apt/sources.list.d/sonarr.list && sudo apt install gnupg ca-certificates && sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
It wasn’t that difficult just to copy and paste right? Now update/upgrade the system for that repository to kick in.
sudo apt update && sudo apt upgrade
We should be able to install sonarr using the terminal and the package name is nzbdrone that’s the old name of the software in the owner repositories he or she never changed it but it works just fine you can also check that in GitHub.
sudo apt install nzbdrone
Sonarr autostart file
sudo nano /lib/systemd/system/sonarr.service
In that file we need to insert the following text but don’t forget to change the user and group, just make sure that the user has the correct permissions for HDDs and if you decide to use root for user and group it will work too but it is annoying to change folder permissions whenever you want to modify a name or move a folder cause it will be under root.
[Unit] Description=Sonarr Daemon After=network.target [Service] User=#insert_user Group=#insert_group Type=simple ExecStart=/usr/bin/mono /opt/NzbDrone/NzbDrone.exe -nobrowser TimeoutStopSec=20 KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target
sudo systemctl enable sonarr.service
Sonarr Desktop Icon
Lastly, let’s set up the icon for the desktop or launcher, for the icon you can download one but over here I’m sharing one that I have in my Dropbox account.
The command will require a dir for icons if you don’t have it already create one with.
sudo mkdir ~/.icons
Now let’s begin.
cd ~/Downloads/ && wget https://www.dropbox.com/s/9p60wken45bjweu/256.png?dl=0 -O sonarrico && sudo mv sonarrico ~/.icons
Now that we have the icon we will create the desktop file.
sudo nano ~/Desktop/sonarr.desktop
Copy and paste this in nano, remember to change the user, since desktop files require an absolute path you will have to replace the #change_me to your user.
[Desktop Entry] Encoding=UTF-8 Name=Sonarr Type=Link URL=http://localhost:8989/ Icon=/home/#change_me/.icons/sonarrico
Now we are starting with Radarr the process is pretty much the same so here the codes.
Radarr requires a dependency prior to the installation just use the following code extracted from mono project site.
sudo apt install gnupg ca-certificates && sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && sudo apt update
Install Mono with the following command.
sudo apt install mono-devel
Now that the dependency is installed we can go ahead and continue with Radarr installation.
sudo apt update && sudo apt install curl mediainfo && cd /opt && sudo 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 ) && sudo tar -xvzf Radarr.develop.*.linux.tar.gz
If you want to set up radarr with your own username do not forget to change the folder permissions “/opt/radarr” to the desired user with the command sudo chown -R user:user becuase by default it will be only executable by RootImportant note for Auto start file
Radarr autostart file
sudo nano /lib/systemd/system/radarr.service
Copy and paste the following in the new nano file and do not forget to change de user and group for that file.
[Unit] Description=Radarr Daemon After=syslog.target network.target [Service] # Change the user and group variables here. User=$USER Group=$GROUPS Type=simple ExecStart=/usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser TimeoutStopSec=20 KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target
Radarr Desktop Icon
cd ~/Downloads/ && wget https://www.dropbox.com/s/4m6n98lxe19zaui/25025331.png?dl=0 -O radarrico && sudo mv radarrico ~/.icons && sudo nano ~/Desktop/radarr.desktop
and copy-paste this is the nano file, do not forget to change the user in the absolute path
[Desktop Entry] Encoding=UTF-8 Name=Radarr Type=Link URL=http://localhost:7878/ Icon=/home/#change_me/.icons/radarrico
Enable the service
sudo systemctl enable radarr.service && sudo systemctl start radarr.service
And that concludes the set up of those 3 applications that the server will use on a daily basis, of course this is just the installation, configuration and more will be on a different post or you can use the default settings for now and while you play with them you will be able to set it up to fulfill your needs, every person is a different world.
Do not use the default folders where the hard drives are mounted otherwise sonarr and radarr will not be able to find the folders with files, you will have to to create folders in “/media/”.
what I did over there was to create 4 folders in “/media/” named *server1″ to *server4″ and mounted the drives in those folders, instead of editing fstab you can just add the drives using the disk app in gnome, turn on the auto mount and select the right folder for each drive, that way this set up will recognize the libraries with no problems.Extra tip if for some reason Plex, Sonarr and Radarr dont show your libraries.
This is the last piece of this puzzle so far we have everything installed but our pirate friends need a ship and the ship is an app named jackett which is what makes everything work together, after this install you have two options to choose for your library management.
- Manage content using radarr and sonarr.
- Install Ombi. This is an amazing app because that will be the front end of everything where it will show movies, TV shows, anime and whatever content you want.
So you can choose and I Will explain how to set up Ombi at the end.
sudo wget https://github.com/Jackett/Jackett/releases/download/v0.12.869/Jackett.Binaries.LinuxAMDx64.tar.gz -P /opt/ && sudo tar -xvzf /opt/Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt/ && sudo /opt/Jackett/install_service_systemd.sh
cd ~/Downloads && wget https://www.dropbox.com/s/r8mwdqqi7tkqfui/28728094-99f3e3f6-73c7-11e7-8f8d-28912dc6ac0d.png?dl=0 -O Jackico && sudo mv Jackico ~/.icons
sudo nano ~/Desktop/jackett.desktop
Copy this to that nano file
[Desktop Entry] Encoding=UTF-8 Name=Jackett Type=Link URL=http://localhost:9117/ Icon=/home/#change_me/.icons/Jackico
Jackett set up is pretty straight forward all that you have to do is to select some indexers, they have a lot of public indexers in whatever language and jackett will show you the steps on how to add the indexers to sonarr and radarr.
echo "deb [arch=amd64,armhf] http://repo.ombi.turd.me/stable/ jessie main" | sudo tee "/etc/apt/sources.list.d/ombi.list" && wget -qO - https://repo.ombi.turd.me/pubkey.txt | sudo apt-key add - && sudo apt update && sudo apt install ombi
cd ~/Downloads/ && wget https://www.dropbox.com/s/qblbj3ndlgqy0sc/communityIcon_j21ttug6nka11.png?dl=0 -O ombiico && sudo mv ombiico ~/.icons
sudo nano ~/Desktop/ombi.desktop
[Desktop Entry] Encoding=UTF-8 Name=Ombi Type=Link URL=http://localhost:5000/ Icon=~/.icons/ombiico
This is just the beginning of this journey and so far you have installed in your server the main services of a Home streaming server also known as media center but of course it needs some tweaking in the settings, if you have more ideas or see a problem with the commands please leave a comment below and lets all learn together as community. Hope this guide will be helpful to anybody.