How to use Plex and a spare computer to build a streaming movie service
Your own multiplex, without moving from the sofa
In this how-to, I will show you how to create a Plex server on a spare computer running Debian Linux, in my case, a Raspberry Pi 4, but you could easily replace it with an old laptop, spare PC, or a dedicated mini PC.
There are a myriad of streaming services available, and all of them want your money. That’s not a bad thing. Some content is only available via streaming, or the best possible version is streaming. But I like physical media. I like knowing I have every episode of Star Trek: The Next Generation, Deep Space Nine, Voyager, and The X-Files. Those were the shows that I watched as a teenager, and they bring me comfort.
I don’t want to buy my media again, heck, I’ve owned Deep Space Nine on VHS and DVD, and my copies of Star Wars stretch back to Betamax! I want my media ready to watch at a moment's notice, and this is where DIY services such as Plex and Jellyfin come into their own.
The best source of media for this project are DVDs and Blu-rays that you already own. Check your local laws before doing so, but you should be able to rip your discs using a tool such as Handbrake. We also have a full guide on how to rip your discs to digital files.
So let's build our own media server!
Setting Up Your Media Drive
For this, you will need a USB drive formatted as NTFS, along with your media sorted into folders. I tend to organize my media into the following:
- Movies
- A-Z list of movies
- Series
- Series name
- Season
- Series name
With the media already on the USB drive, let's get it connected to what will become our Plex server.
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
1. Insert the drive into a spare USB 3 port on the machine. The OS should auto-mount the drive.
2. Locate the drive’s name, label and UUID using blkid. In my case, the device name was /dev/sda1, its label was “Files,” and the UUID was “2EB36FFA4908D959.” Make a note of these details.
blkid
3. Navigate to the mounted drive and list the contents to prove that the system can see the files. On my Raspberry Pi the drive was /media/pi/Files.
cd /media/pi/Files4. Set the permissions for the folder so that it is accessible to anyone. Yes, this is bad security practice for production servers, but for a small home media server, we can mitigate the risk. Remember to change the path to match the location of your media files.
sudo chmod 777 /media/pi/Files5. Unmount the drive and then remount using NTFS to test that the process works. Remember to replace the device name and the mount point with values that match yours.
sudo umount /dev/sda1
sudo mount -t ntfs-3g /dev/sda1 /media/pi/
6. To automatically mount the drive on boot, edit fstab and add this line to the end so that it detects the drive as the system boots. Remember to change the UUID and /media/pi/Files mount to match the results from Step 2.
UUID=2EB36FFA4908D959 /media/pi/Files ntfs-3g defaults,uid=pi,gid=pi,umask=002 0 0
7. Save by pressing CTRL + O, ENTER then CTRL + X.
8. Reboot the Raspberry Pi for the changes to take effect.
How to install Plex Server
1. On the Raspberry Pi, open a browser and visit the Plex Media Server download page.
2. Click on the dropdown and select the version you want to download, in this case, Linux. Click Choose Distribution, then select the correct version for your Linux distribution. I’m using the latest version of Raspberry Pi OS, so I chose the Armv8 download. If you are adapting this how-to to run on an Intel- or AMD-based machine, select the 32- or 64-bit version for your architecture.
3. Open a terminal and install the downloaded Plex package, which will be in your Downloads folder. Wait for the installation to complete.
sudo dpkg -i <>4. Add the user plex to the Pi user group. This will give Plex access to drives and other devices.
sudo usermod -aG pi plex5. Get the IP address of your Raspberry Pi via the terminal. The -I is a capital i.
hostname -I6. On another device, on the same network, open a web browser and go to the IP address of your Plex server, followed by port 32400 and then /web. Here is what my URL looked like.
http://192.168.0.192:32400/web/7. Start the Plex setup process and then name your server. I used PlexServer.
8. Create a library of movies, this will point to the location of the USB drive that has all of your media.






9. Click Done to finish the installation.
The Plex User Interface
Plex’s user interface is familiar to anyone who has used a streaming service. It is designed to get the media to us without any issues. In the free version that we are using, it also gets the advertisements right to your eyeballs. There are plenty of free streams to watch, but we’re really here for our content. Let's take a look around the user interface and get to know Plex.
1. Main menu: Here we can look through our watchlist, live TV shows, movies & shows. Just above is the “hamburger menu” to go in depth on your configuration.
2. Filters: Filter the content to show trending, what friends are watching, and activity.
3. Settings: Advanced settings for your Plex server. This includes user accounts, libraries, and we can even cast our Plex viewing to a compatible device.
4. Libraries: The mounted USB disk full of our movies is linked to from here. Clicking the link will open the drive and our content library.
5. Content: This section changes as the user navigates the content. Here we can see the advertised content.
If we click on the library (4), then the screen changes to show the content on the drive hosting the library. As you can see, my library is pretty light, as this is a test setup.
Wrapping Up
You’ve just made your own streaming service, one that will share your DVD and media library to devices across your home. You can use the web interface to watch your movies, or use one of the many Plex client apps for Smart TVs, phones, consoles, and Amazon’s Alexa.

Les Pounder is an associate editor at Tom's Hardware. He is a creative technologist and for seven years has created projects to educate and inspire minds both young and old. He has worked with the Raspberry Pi Foundation to write and deliver their teacher training program "Picademy".