Project Reasoning

The reasoning for this project was twofold, the first was to continue my learning journey of Linux administration as well as experiment more with Proxmox. Ideally I would have provisioned this machine in the cloud, but since this will be used to transcode video, an equally configured VM would have accrued costs of $72 per month. Since this server was set up for real world usage, It made little sense to skimp on resources. Therefore, it made sense to provision this on my local Proxmox server. Though I would have more latitude hosting this in the cloud when it comes to offsite content consumption, I primarily consume content within the home so this will not be serious drawback. I have some experience using Plex and currently run a desktop version (Windows 10) on my main PC. However, if other applications are running, or I am editing video, playback and transcoding unsurprisingly starts to dwindle even with a highly configured machine.

The Project Outline

This machine is currently running on Ubuntu Server 22.04 LTS, and was provisioned in Proxmox with the following specs:

Configuring the Machine

The first part of the installation involved doing a general update and upgrade to make sure the latest version was running and the necessary dependencies were in place:

sudo apt update && sudo apt upgrade –y

sudo apt install apt-transport-https curl wget –y

Installing the Plex Repository

The next step was to install the Plex repository and the GnuPG key. This installed into etc folder allowing any further updates to gain access to the local install, as well as verifying that the updates are coming from the right repository:

echo deb [signed-by=/usr/share/keyrings/plex.gpg] https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

sudo wget -O- https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex.gpg

Installing the Plex Media Server

At this stage the machine was ready for the full plex media server to be installed. I used the following command to do this:

sudo apt install plexmediaserver –y

To verify that the plex server was running, and that it would automatically start up if the server was shut down I used the following command:

systemctl status plexmediaserver.service

Firewall Configurations

The stage of the server set up was to set up firewall rules. The only port open at this stage was port 22 for my SSH connection. However, plex runs on port 32400, so this port needed exposing. I used the following command:

sudo ufw allow 32400

To verify the port was open I used:

sudo ufw status

To enable the firewall I used:

sudo ufw enable

To verify that my server was up and running, I gained access using the following URL:

 

http://<ip address>:32400/web