Skip to content
testnetradar

Ubuntu Server setup on a mini PC or Raspberry Pi 5

published:

Flashing, first boot and hardening Ubuntu Server on home hardware — the home-hardware path for running a testnet node.

This is the home-hardware path: flashing Ubuntu Server onto a mini PC or a Raspberry Pi 5 and getting it to the point where it can run a node the same way a rented VPS would. If you have not read Linux basics for node runners yet, do that first — this page assumes you can already SSH in, read a systemd unit, and open a port with ufw.

What you need before you start

  • A mini PC (any recent x86 machine with at least 4 GB RAM) or a Raspberry Pi 5, plus its official power supply.
  • A USB drive, 8 GB or larger, to hold the installer image.
  • Another computer to do the flashing and the SSH setup from.
  • A wired Ethernet connection to your router for first boot. Wi-Fi works after setup, but starting wired removes one variable while you are still finding the machine on your network.

Step 1: Get the installer image

Mini PC (x86): download the Ubuntu Server image from the official download page, linked from Ubuntu Server's own documentation.

Raspberry Pi 5: use Raspberry Pi Imager, which writes Ubuntu Server directly to a microSD card or USB SSD and lets you pre-configure SSH and Wi-Fi before first boot. The tool and hardware specifics for the Pi 5 are covered in the official Raspberry Pi documentation.

Step 2: Flash and boot

Write the image to your USB drive or SD card with the imaging tool for your platform (Raspberry Pi Imager, or dd/balenaEtcher for a mini PC's ISO). Insert it into the target machine, connect Ethernet and power, and wait — a first boot that resizes the filesystem and generates SSH host keys can take a couple of minutes on a Pi, less on a mini PC with an NVMe drive.

Step 3: Find it and connect

If you did not pre-configure SSH during imaging, the machine boots with whatever default the installer set (Ubuntu Server's installer prompts you to create a user and enable SSH during install itself, unlike older images). Find its address on your network and connect:

bash
ssh yourusername@ubuntu.local

If the .local hostname does not resolve, check your router's DHCP client list for the new device instead.

Step 4: Update and set the timezone

bash
sudo apt-get update && sudo apt-get upgrade -ysudo timedatectl set-timezone UTC

UTC, specifically — most node software logs and reports sync height in UTC, and matching your system clock to it makes log timestamps easier to compare against a guide's expected output.

Step 5: Create a non-root user with sudo

If you are still on the default user from imaging, create a dedicated one for running the node rather than doing everything as the account you administer the box with:

bash
sudo adduser nodeusersudo usermod -aG sudo nodeuser

Step 6: Lock down SSH and the firewall

bash
sudo ufw allow OpenSSHsudo ufw enable

If you connected with an SSH key rather than a password, disable password login entirely — it removes the entire class of brute-force login attempts that a machine sitting on the open internet (or even just your router's port forward) will otherwise see constantly:

bash
sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_configsudo systemctl restart ssh

Step 7: Give it a fixed local address

In your router's admin page, add a DHCP reservation tying the machine's MAC address to a fixed local IP. This is not the same as a public static IP — see VPS vs. home hardware for airdrop farming for why that distinction matters for a node that needs to stay reachable. The exact screen differs by router vendor; look for "DHCP reservations" or "static leases."

From here, the machine is a general-purpose Ubuntu Server host ready for whatever a specific node guide asks you to install next.

FAQ

Does this work on any mini PC, or only a Raspberry Pi?
Any x86 mini PC (Intel NUC-style boxes, most fanless "N100" machines) or the Raspberry Pi 5 works with this page. The flashing tool and first-boot steps are the same; only the installer media differs slightly by architecture, noted below.
Do I need a monitor and keyboard for this?
No. Every step here is done from another computer: you flash the OS image on your everyday laptop, then do the rest over SSH once the machine boots on your network. This is what makes headless mini PCs and Pi boards practical as node hosts.
How do I find the machine on my network after first boot?
Check your router admin page for a new DHCP lease, or run a local network scan. The exact method depends on your router; Ubuntu and Raspberry Pi OS both support mDNS by default, so `ssh ubuntu@ubuntu.local` (or the hostname you set during imaging) often works without knowing the IP at all.
Do I need a static IP to run a node?
You need the machine to be reliably reachable at the same address, which usually means a static *local* IP reservation in your router (a DHCP reservation tied to the device's MAC address) rather than a public static IP. A public static IP is a VPS-only concern, covered on the VPS vs. home hardware page.

Next testnet, in your inbox

One email when a new testnet opens, with the guide already written. No spam, unsubscribe in one click.