Skip to content

Choosing & preparing an old PC

An alternative to the Synology: run the same media stack on a reused desktop or mini PC with Linux + Docker. The stack pages work unchanged; only the host setup and a few paths differ (see Storage & Docker on Linux).

Why bother

An old Intel PC with an iGPU can hardware-transcode (Quick Sync), which the Atom NAS in Hardware can't. That removes most of the Direct-Play-only limits on the Plex page.

1. What hardware is worth reusing

Part Minimum / recommended Why
CPU Intel 7th gen (Kaby Lake) or newer, with an iGPU (not an "F" model) Quick Sync with HEVC 10-bit decode. With Plex Pass, hardware transcoding and HDR → SDR tone mapping run on the iGPU. Newer (11th gen+, N100/N150) adds AV1 decode.
RAM 8 GB, 16 GB is comfortable Plex, the *arrs and qBittorrent together. More helps a RAM transcode dir.
Boot drive SSD (SATA or NVMe), 120 GB+ OS + all container configs/databases. Plex metadata is many small files.
Data drives Enough SATA ports and drive bays (or power + space) for the HDDs you plan A small-form-factor office PC often fits only one 3.5" drive.
Network Gigabit Ethernet, wired Same as the NAS. Don't use Wi-Fi for a server.
PSU / power Check idle draw with a plug-in meter An old desktop often idles at 20–40 W vs ~10 W for an N100 mini PC. Over a year that's real money, so factor it in.

Skip these

AMD CPUs without a supported GPU, Intel 6th gen or older (no HEVC 10-bit decode), "F" CPUs (no iGPU), and anything that needs a discrete GPU just to show a picture. Check your CPU against Plex's hardware-accelerated streaming article.

2. Drives

  • Separate OS SSD + data HDDs. Reinstalling the OS then never touches the media.
  • Use CMR drives (NAS/enterprise lines). Avoid SMR drives for anything RAID-like or ZFS.
  • Check every reused drive before you trust it:
sudo apt install smartmontools
sudo smartctl -a /dev/sdX            # look at Reallocated/Pending/Uncorrectable sectors and power-on hours
sudo smartctl -t long /dev/sdX       # long self-test, then re-run -a when it's done

Any non-zero Reallocated, Current_Pending or Offline_Uncorrectable count: don't use it for data you care about.

3. OS choice

Recommended: Ubuntu Server 24.04 LTS (or Debian 12). Headless, long support, and Docker's official repo supports both. This guide's commands assume one of them.

Alternative Good at Honest catch
Unraid Mixed drive sizes, easy web UI, app store Paid licence. Its own way of doing Docker (templates), so the compose files here need translating or the Compose plugin.
OpenMediaVault NAS-style web UI on Debian, compose plugin Another layer to learn; plugins sometimes lag Debian releases.
TrueNAS SCALE ZFS done properly, snapshots, replication Wants matching drives and plenty of RAM; apps system has changed between releases, check the current docs.

4. Wipe and install

  1. Back up anything you want off the old PC, then download the ISO from ubuntu.com/download/server (or debian.org) and write it to a USB stick (balenaEtcher, Rufus or dd).
  2. Boot from USB. Install to the SSD only; leave the data drives unselected (or unplugged) so you can't wipe the wrong disk.
  3. Ubuntu: choose Install OpenSSH server. Skip the snaps (no Docker snap, it's installed properly later). Debian: tick SSH server + standard system utilities, untick the desktop.
  4. Create your admin user (not root). Add an SSH key, then turn off password logins in /etc/ssh/sshd_config (PasswordAuthentication no).
  5. Update and set the time zone:
sudo apt update && sudo apt full-upgrade -y
sudo timedatectl set-timezone ${TZ}
sudo apt install unattended-upgrades && sudo dpkg-reconfigure -plow unattended-upgrades

5. Static IP / DHCP reservation

Easiest: a DHCP reservation on the router for the PC's MAC address → <SERVER_IP>. Nothing to change on the PC.

If you want a static IP on Ubuntu instead, edit the netplan file (name varies, for example /etc/netplan/50-cloud-init.yaml):

network:
  version: 2
  ethernets:
    <NIC>:                       # from `ip -br link`
      dhcp4: false
      addresses: [<SERVER_IP>/24]
      routes: [{ to: default, via: <ROUTER_IP> }]
      nameservers: { addresses: [<ROUTER_IP>] }
sudo netplan try                 # auto-reverts after 120 s if you lose the connection

Debian 12 uses /etc/network/interfaces by default; a DHCP reservation is simpler there.

6. BIOS / UEFI settings

Setting Value Why
Integrated graphics (iGPU / "IGD") Enabled, even with no monitor; set as primary display if there's a dGPU Many boards disable the iGPU when headless or when a card is present, and /dev/dri disappears.
iGPU memory (DVMT pre-allocated) default or 64 MB+
Restore on AC power loss Power On Comes back by itself after a power cut.
Sleep / S3 / ErP / deep sleep Off (also don't suspend in the OS) A sleeping server isn't a server.
SATA mode AHCI (not RAID/RST) Linux sees the disks directly.
Secure Boot either; Ubuntu/Debian boot fine with it on
Wake-on-LAN optional

Check that the iGPU is visible after the install:

ls -l /dev/dri                   # expect card0 (or card1) and renderD128

If /dev/dri is missing, recheck the BIOS iGPU setting before anything else.

Next: Storage & Docker on Linux.