The Ultimate Guide to Building Your Own Private Netflix with Plex

Share
DifficultyBeginner
Time30 Minutes
PrerequisitesLinux Server (Ubuntu 22.04 recommended)
HardwareBeelink Mini PC, Synology NAS, or any always-on computer

You’re paying for Netflix, Stan, Disney+, and probably a few other streaming services you forgot to cancel. You’re renting your media library from corporations who can yank a title off the catalog whenever a licensing deal expires. And if your internet drops? You’re staring at a blank screen with nothing to watch. That’s the deal you signed up for.

Plex fixes that. Think of it as your own private Netflix—but instead of renting content from a corporate library, you stream files from your own hard drives. Movies, TV shows, home videos, music, photos. You install Plex on a server (which is just a computer that stays on all the time), point it at your media files, and it organizes everything into a beautiful interface with cover art, descriptions, and cast lists. Then you can watch it on your TV, phone, tablet, or laptop—anywhere in the world.

The catch? You have to supply the content yourself. Ripped DVDs, downloaded files, home videos—whatever you own. Plex is the delivery system, not the content library. It’s a tool for people who want to own their media again, not rent it forever.

Advertisement

I run Plex on a small Beelink mini PC that sits in my living room, tucked behind the TV. It sips power, makes zero noise, and I never think about it. That’s the goal here: set it up once, and forget it exists. You don’t want a hobby that demands constant attention. You want a media server that works so you can get back to your actual life.

Let’s get you running.


Prerequisites & Tools

Before we touch a terminal, here’s what you need:

1. A Linux server. This guide targets Ubuntu 22.04 LTS because it’s stable, well-documented, and free. Your server can be:

  • A mini PC like the Beelink SER5 (roughly $500 AUD / $330 USD)—perfect for this job, silent, and power-efficient.
  • A NAS enclosure like the Synology DS224+ (around $600 AUD / $400 USD) if you also want redundant storage.
  • An old laptop you have lying around. Seriously, anything with a 64-bit processor and 4GB of RAM works.
  • A cloud VPS (Virtual Private Server—a rented virtual machine) from DigitalOcean or Linode, but that’s a recurring cost and you’ll hit storage limits fast. Local is better.

2. Storage. Media files eat space. A single 4K movie can be 50GB. Start with at least 4TB. The Seagate IronWolf 8TB NAS drive (around $350 AUD / $230 USD) is a solid choice for a dedicated media drive. If you want something portable to test with, a Western Digital 5TB Elements drive works fine.

3. Ubuntu 22.04 installed. If your server is a bare machine, you’ll need to install Ubuntu first. That’s a separate guide, but the short version is: download the Ubuntu Server ISO, write it to a USB stick with a tool like BalenaEtcher, boot from it, and follow the prompts. It’s easier than assembling IKEA furniture.

4. SSH access. SSH (Secure Shell) is a way to control your server from your main computer using a terminal window. On Windows, use PuTTY or the built-in Terminal app. On Mac or Linux, open the Terminal app and type ssh username@your-server-ip. If you set up Ubuntu, you already have a username and password.

5. A domain name (optional but recommended). If you want to access Plex from outside your home network without typing in a scary IP address, grab a domain from Namecheap or Porkbun. They’re both cheap—around $15 AUD / $10 USD per year—and give you a clean address like plex.mydomain.com. You don’t need this to start, but you’ll want it eventually.

6. A Plex account. Go to plex.tv and sign up for a free account. You’ll need it to log into your server. The free tier works fine. Plex Pass (their premium tier) adds hardware transcoding, offline downloads, and photo backup—but you don’t need it to get started.


The Step-by-Step Guide

Step 1: Update Your System

Before installing anything, make sure your server’s package lists are current. Open your terminal and SSH into your server:

ssh username@your-server-ip

Once you’re in, run:

sudo apt update && sudo apt upgrade -y

This updates the list of available software and installs any pending updates. The && just means “run the second command only if the first succeeds.” The -y flag automatically answers “yes” to any prompts. This can take a few minutes on a fresh install.

Step 2: Install Plex

Plex isn’t in Ubuntu’s default software repositories, so you’ll download the official installation package directly from Plex’s website. First, go to plex.tv/media-server-downloads on your main computer, choose Linux, and copy the download link for the Ubuntu 64-bit version. It’ll look something like:

https://downloads.plex.tv/plex-media-server-new/1.40.2.8395-c29d4c0c2/plexmediaserver_1.40.2.8395-c29d4c0c2_amd64.deb

Back in your SSH terminal, download it with wget (a command-line downloader):

wget https://downloads.plex.tv/plex-media-server-new/1.40.2.8395-c29d4c0c2/plexmediaserver_1.40.2.8395-c29d4c0c2_amd64.deb

Then install it:

sudo dpkg -i plexmediaserver_*.deb

dpkg is Ubuntu’s package installer. The -i flag means “install.” The * is a wildcard that matches any file starting with plexmediaserver_ and ending with .deb, so you don’t have to type the full filename.

Step 3: Verify Plex Is Running

Plex installs itself as a background service, which means it starts automatically when your server boots and runs in the background. Check its status:

sudo systemctl status plexmediaserver

You should see active (running) in green text. If you get an error, wait a few seconds and try again—the service can take a moment to start. Press q to exit the status view.

Step 4: Set Up Your Media Directory

Plex needs a place to store your media files. Create a directory structure that keeps things organized:

sudo mkdir -p /media/plex/movies
sudo mkdir -p /media/plex/tv
sudo mkdir -p /media/plex/music

The mkdir command creates directories. The -p flag creates parent directories if they don’t exist, so it’s safe to run even if /media/plex already exists.

Now, if you have an external drive with media on it, plug it into your server. You’ll need to mount it (which means making the server recognize it as a storage location). First, find the drive’s device name:

lsblk

This lists all block devices—basically, all your storage drives. Look for something like /dev/sdb1 with a size matching your external drive. Note the device name.

Create a mount point and mount the drive:

sudo mkdir -p /mnt/media
sudo mount /dev/sdb1 /mnt/media

Replace /dev/sdb1 with your actual device name. This makes the drive’s contents accessible at /mnt/media.

To make the mount permanent (so it survives a reboot), add it to the file system table:

sudo nano /etc/fstab

Add this line at the end:

/dev/sdb1 /mnt/media ext4 defaults 0 0

Replace ext4 with your drive’s file system type (usually ext4 or ntfs). Save with Ctrl+O, then Enter, then exit with Ctrl+X. nano is a simple text editor built into Ubuntu.

Step 5: Connect Your Media to Plex

Now we need to tell Plex where your media lives. We’re going to create a symbolic link (a shortcut) so Plex can access your mounted drive from the directory it expects:

sudo ln -s /mnt/media/movies /media/plex/movies
sudo ln -s /mnt/media/tv /media/plex/tv
sudo ln -s /mnt/media/music /media/plex/music

The ln -s command creates a symbolic link. The first path is the source (your actual files), the second is the destination (the shortcut). This way, you can store files anywhere on your drive, and Plex will find them.

Step 6: Set Permissions

Plex runs as its own user (plex), so it needs permission to read your media files. This is the step most people screw up. Give Plex ownership of the media directories:

sudo chown -R plex:plex /media/plex
sudo chown -R plex:plex /mnt/media

chown changes ownership. The -R flag applies it recursively to all files and folders inside. plex:plex means the user plex and the group plex. This ensures Plex can read everything.

Step 7: Access the Plex Web Interface

Now for the fun part. On your main computer, open a web browser and go to:

http://your-server-ip:32400/web

Replace your-server-ip with your server’s IP address. You can find it by running ip addr show in your SSH terminal and looking for something like 192.168.1.100.

You’ll see Plex’s setup wizard. Log in with your Plex account. It’ll ask you to name your server—something like “Living Room Plex” works. Then it’ll ask if you want to set up remote access. We’ll get to that later, so skip it for now.

Step 8: Add Your Media Libraries

After the wizard, you’ll land on the Plex dashboard. Click the gear icon (Settings), then “Manage” > “Libraries.” Click “Add Library.”

Choose the type (Movies, TV Shows, Music, etc.), give it a name, and click “Add Folder.” Navigate to /media/plex/movies (or whichever library you’re adding). Click “Add,” then “Add Library.”

Plex will scan the folder and pull in metadata—cover art, descriptions, cast lists, ratings. This can take a few minutes for a large library. You’ll see it happening in real-time on the dashboard.

Step 9: Enable Remote Access (Optional)

If you want to watch your media when you’re away from home—on your phone at work, on your laptop at a coffee shop—you need to enable remote access. In Plex settings, go to “Settings” > “Remote Access.” Click “Enable Remote Access.”

Plex will attempt to set up a secure connection automatically using UPnP (Universal Plug and Play—a protocol that lets devices on your network automatically configure port forwarding). If your router supports it, this just works. If not, you’ll need to manually forward port 32400 on your router to your server’s IP address. That’s a router-specific process, but the general steps are: log into your router’s admin panel, find “Port Forwarding,” add a rule for TCP port 32400 pointing to your server’s IP.


Post-Install Setup

Your Plex server is running. Now let’s make it actually useful.

1. Install the Plex app on your devices. Download the Plex app on your smart TV, phone, tablet, or streaming stick. Log in with the same Plex account. Your server will appear automatically. No setup required.

2. Create user profiles. If you have family members, go to Settings > Users and create profiles for them. They can have their own watch history, continue-watching lists, and parental controls. This is free—you don’t need Plex Pass for basic user accounts.

3. Set up hardware transcoding (if you have Plex Pass). Transcoding is when Plex converts a video file on-the-fly to match the capabilities of the device you’re watching on. If you’re streaming a 4K movie on your phone, your server needs to convert it to a lower resolution. Hardware transcoding uses your CPU’s built-in graphics processor to do this much faster and with less power. If you have Plex Pass, go to Settings > Transcoder and enable “Use hardware acceleration when available.” This is a game-changer for smooth playback.

4. Configure your media naming. Plex is picky about file names. For movies, use Movie Name (Year).ext—e.g., The Matrix (1999).mkv. For TV shows, use Show Name/Season 01/Show Name S01E01.ext—e.g., Breaking Bad/Season 01/Breaking Bad S01E01.mkv. If your files are named correctly, Plex’s metadata matching works flawlessly. If not, you’ll get wrong cover art and missing descriptions.


Common Pitfalls / Troubleshooting

Pitfall 1: Permission errors. The most common issue. Plex can’t read your media files, so libraries show up empty or with errors. Fix: run the chown commands from Step 6 again. If you added new files after setting permissions, make sure they’re owned by plex. You can do this with:

sudo chown -R plex:plex /mnt/media

If you’re copying files to your server using a tool like SCP or SFTP, make sure you’re copying to the right location and the permissions are correct afterward.

Pitfall 2: Port conflicts. Plex uses port 32400 for its server. If something else on your system is using that port, Plex won’t start. Check what’s using the port:

sudo lsof -i :32400

If you see a process listed, you’ll need to stop it or change Plex’s port. If Plex itself is listed, it’s running fine. If you changed Plex’s port in the settings, make sure you’re using the correct port in your browser URL.

Pitfall 3: Remote access won’t connect. This is almost always a router issue. Your router isn’t forwarding port 32400 to your server. Fix: log into your router, find the port forwarding section, and add a rule for TCP port 32400 pointing to your server’s internal IP address. If your router doesn’t support UPnP or you have a double-NAT situation (two routers in your network), this gets complicated. The simplest fix is to put your server on a static IP address and configure port forwarding manually.

Pitfall 4: Bad file permissions on external drives. If you’re using an NTFS-formatted drive (a Windows drive), Plex might not be able to read it properly. Format the drive as ext4 for best results, or mount it with the correct options in /etc/fstab. If you’re using a USB drive, make sure it’s plugged into a USB 3.0 port (blue port) for faster transfer speeds.


Conclusion

You just took your media library back from the streaming overlords. No more hunting through five different apps to find something to watch. No more losing titles when licensing deals expire. No more buffering because your internet provider decides Netflix needs more bandwidth than your home server.

This is your media. On your hardware. Under your control. That’s the whole point.

The setup took you maybe thirty minutes. The payoff is a lifetime of watching whatever you want, whenever you want, on any device in your house—or anywhere in the world. You don’t need to be a sysadmin to pull this off. You just needed the right guide and a willingness to stop renting your entertainment.

Now go rip your DVD collection and start building the library you actually want. And if you ever need a private email service that doesn’t mine your data, Tuta and ProtonMail are solid options that respect your privacy the same way your Plex server does. For domains, Namecheap and Porkbun keep your registration details private without the corporate upsell. You’re in control now. That’s the way it should be.


Glossary & Resources

Terms Used in this Guide

  • Server: A computer that stays on all the time to provide services or files to other devices.
  • NAS: A Network-Attached Storage device, which is a dedicated box with hard drives that lets you store and access files over your network.
  • media library: A collection of your digital media files (like movies, TV shows, and music) that you own and store on your own drives.
  • stream: To play audio or video content over the internet or a network in real time, without downloading the entire file first.
  • interface: The visual layout and controls of a program that you see and interact with on your screen.

Join the Self-Hosting Revolution

Don't let the cloud giants control your data. Get my latest tutorials, hardware reviews, and deployment guides delivered straight to your inbox.

Subscribe for Free

Read more