Why I Ditched External Hard Drives for Plex
In the past, I used to download 4K Remux movies (sometimes up to 60-80GB per file) onto a portable hard drive and plug it into my TV. This was extremely tedious. Every time there was a new movie, I had to unplug it and copy the files. Not to mention, the TV interface was basic and I couldn’t resume a movie where I left off when I was at a cafe or traveling for work.
After testing various solutions, I chose to set up a Plex Media Server on Ubuntu. It transforms a mess of files into a sleek library with posters, subtitles, and trailers, just like Netflix. The real game-changer is Hardware Transcoding. It allows my budget server to handle 4K files effortlessly without the CPU spiking to 100%.
This guide is performed on Ubuntu 22.04 LTS. You can apply the same steps to 20.04 or the latest 24.04 versions.
Installing Plex Media Server the Right Way
Don’t download the .deb file manually. I recommend adding the official repository to make future updates a breeze. A simple apt upgrade command is all it takes.
Step 1: System Preparation
First, update the base packages to ensure security and stability:
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https curl wget -y
Step 2: Add the Plex Repository
Import the GPG key so the system can authenticate the installation packages from Plex:
curl https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plex-archive-keyring.gpg > /dev/null
Next, register the repository with the system:
echo "deb [signed-by=/usr/share/keyrings/plex-archive-keyring.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
Step 3: Installation and Activation
Now it’s time to install Plex in just a few seconds:
sudo apt update
sudo apt install plexmediaserver -y
Once installed, check if the service is running with the command: sudo systemctl status plexmediaserver. If it shows “active (running)”, you’re good to go.
Optimization: Permissions and Hardware Transcoding
Installation is just the first step. To make Plex run smoothly, you must address these two issues.
1. Fixing File Recognition Issues (Directory Permissions)
The most common error is Plex failing to scan movies even if the path is correct. This happens because the plex user doesn’t have permission to read your hard drive. Assuming your movies are in /mnt/data/movies, run the following commands:
# Add the plex user to your group (e.g., if the user is 'admin')
sudo usermod -aG admin plex
# Grant read permissions for the media directory
sudo chmod -R 755 /mnt/data/movies
Pro tip: If you’re using an external hard drive, make sure to mount it permanently in /etc/fstab to avoid losing the path after a reboot.
2. Enabling Hardware Transcoding (Intel QuickSync)
If your server uses an Intel chip with an iGPU, you can stream 4K movies to your phone over 4G very smoothly. Instead of using the CPU for encoding (which is hot and laggy), Plex will use the integrated graphics core.
Check the iGPU driver with the command: ls -l /dev/dri. If you see renderD128, grant Plex permission to access the hardware:
sudo usermod -aG video plex
sudo usermod -aG render plex
sudo systemctl restart plexmediaserver
Note: You need a Plex Pass account to use this feature. With a cheap Celeron J4125 chip, I can still transcode 2-3 simultaneous 4K to 1080p streams while the CPU load stays around 15-20%.
3. Setup via Web Interface
Since Ubuntu Server doesn’t have a display, access it from another computer on the same LAN:
http://your-server-ip:32400/web
If installing on a VPS, you need to create an SSH tunnel to “trick” Plex into thinking you are operating locally:
ssh -L 8888:localhost:32400 user@ip-server
Then open your browser and type http://localhost:8888/web to start the setup wizard.
Verifying Real-World Performance
Don’t forget to check if everything is running as expected. Open a 4K movie on your phone and choose to lower the quality to 720p.
Go to the Dashboard on the web interface. If you see the text Video: Transcoding (hw), congratulations, you’ve successfully configured it. To monitor it more closely, I usually use the intel-gpu-tools utility:
sudo apt install intel-gpu-tools
sudo intel_gpu_top
The chart will clearly show what percentage of the load the GPU is handling. If the “Video” column shows activity, it means the hardware is doing the work instead of the CPU.
Building your own Plex Server isn’t difficult; the key is how you optimize the hardware to save power and resources. Enjoy your high-quality entertainment right at home!

