A Raspberry Pi sitting on your desk can serve a website, run an API, host a game server, or do anything else you'd do on a VPS - and it costs you nothing beyond the hardware. The missing piece is a stable public address. Here's how to sort that out with localnode.app.
What you need
- A Raspberry Pi running any Debian-based OS
- A router you can log into and configure port forwarding on
- A localnode.app account with an available subdomain
Step 1: Set up port forwarding
Log into your router's admin panel (usually 192.168.1.1 or 192.168.0.1). Find the port forwarding section and forward port 80 (HTTP) and/or 443 (HTTPS) to your Pi's local IP address. To find the Pi's local IP: hostname -I.
While you're in the router, give the Pi a DHCP reservation so its local IP never changes.
Step 2: Create your subdomain and enable DDNS
In your localnode.app dashboard, create a subdomain and enable DDNS. Copy the DDNS key shown on the subdomain card.
Step 3: Auto-update your IP
On the Pi, create a cron job to keep the DNS record pointing at your current external IP:
*/5 * * * * curl -s "https://localnode.app/api/ddns.php?key=YOUR_KEY" > /dev/nullThis runs every five minutes. If your ISP changes your IP, the record updates within five minutes automatically.
Step 4: Install a web server
sudo apt install nginx and drop your site in /var/www/html. Your subdomain should now serve your Pi's content to anyone in the world.