Raspberry Pi & Self Hosting

Choose the Raspberry Pi 5, RAM, cooling, power, and NVMe storage

October 3, 2026•Beginner•20–30 min
Beginner20–30 minStep 1

Start with hardware that is reliable enough to run continuously. For a small WordPress server, an 8 GB Raspberry Pi 5 is a practical baseline; 16 GB gives more headroom for multiple sites, databases, monitoring, and experimentation.

Goal
You should have a Pi 5, suitable cooling, stable power, and an NVMe drive ready before installing the operating system.

Step-by-step

01

Choose the board and memory

Use a Raspberry Pi 5. Prefer 8 GB for a dedicated web server and 16 GB if you expect to add more services later. More RAM does not make a simple site dramatically faster, but it gives Linux, MariaDB/MySQL, PHP workers, caching, and other services breathing room.

02

Use a proper power supply

Use a reliable USB-C power supply designed for the Pi 5. Unstable power can cause throttling, storage errors, and random reboots that are difficult to diagnose.

03

Plan active cooling

A server can be busy for long periods, so use an active cooler or a case with a fan. Place the Pi where air can move freely and where the fan will not be blocked by cables.

04

Choose NVMe instead of relying only on microSD

For a server, use an M.2 HAT+ or compatible PCIe-to-NVMe board and an NVMe SSD. NVMe storage generally handles database writes, updates, logs, and backups better than a typical microSD card.

05

Pick sensible capacity

A 256 GB or 512 GB NVMe drive is plenty for many personal sites. Leave room for logs, database growth, WordPress uploads, staging copies, and local backups.

06

Label and document the parts

Write down the Pi model, RAM, SSD model and size, power supply, MAC address, and where the device is physically located. This becomes useful once the server is tucked away and running unattended.

Verify before moving on
You should have a Pi 5, suitable cooling, stable power, and an NVMe drive ready before installing the operating system.

Troubleshooting

If a command or screen differs from the lesson, stop and verify the version you are using before forcing a change.

What you learned

You now understand the purpose of this part of the system and have a concrete result you can verify before continuing to the next lesson.