A tiny computer that runs your website 24/7 from home.
If you can follow a recipe, you can do this.
Don't know what to build? Try hosting file-social on your Pi — it's a personal media stream you can post to.
A. Install Raspberry Pi OS
⚠️ Step 5 is critical — basically every setting matters or it won't set up correctly.
B. Boot it up
C. Test the connection
ssh username@hostname.local (use the username and hostname from step A5)If it doesn't connect, go back to step A and make sure you filled in all the settings correctly.
On your computer (not the Pi):
1. Make a folder on your Desktop called "mywebsite"
Right-click Desktop → New Folder → name it "mywebsite"
2. Create a file called "index.html" inside that folder
Open Notepad (Windows) or TextEdit (Mac), paste this, save it as "index.html":
Use rsync to copy your website folder to the Pi:
Sync your files
rsync -avz ~/Desktop/mywebsite/ username@raspberrypi.local:/home/username/mywebsite/username with your Pi usernameraspberrypi.local with your Pi's hostname💡 Every time you change your website, just run this command again to sync the changes.
SSH into your Pi and set up pm2 to run your web server (it auto-restarts on crashes and reboots):
Install pm2 and start the server
ssh username@raspberrypi.localsudo apt update && sudo apt install -y nodejs npm && sudo npm install -g pm2pm2 start "python3 -m http.server 8080" --name website --cwd ~/mywebsitepm2 startup (copy and run the command it shows)pm2 saveUseful commands: pm2 logs website (view logs), pm2 restart website (restart), pm2 stop website (stop)
Test it:
On your computer, open a browser and go to: http://raspberrypi.local:8080
(Replace raspberrypi.local with whatever hostname you used)
See "Hello World"? It works!
Right now only your home network can see it. Let's make it visible to everyone.
A. Find your Pi's address
In your SSH terminal, type: hostname -I
Write down the first number. Example: 192.168.1.50
B. Log into your router
192.168.1.1 in a browser (or try 192.168.0.1)C. Add a rule
Name: MyWebsite
External Port: 8080
Internal IP: (your Pi's 192.168 number)
Internal Port: 8080
Protocol: Both
Test it:
curl v4.ident.me → copy that numberhttp://YOUR-NUMBER:8080Right now people have to type a weird number to visit. Let's give it a real name like yourname.proxie.social
1. Pick a name and sign up
Go here and choose a name. (Example: joe.proxie.social)
2. Connect it
Fill out the form:
Domain: yourname.proxie.social
IP Address: (the number from curl v4.ident.me)
Port: 8080
Click "Create Site"
Done!
Go to yourname.proxie.social in any browser. Your website is live.
Home internet IPs change randomly, breaking your sites. Install the auto-updater to fix this automatically.
Run this on the machine that is hosting your sites. That may be this device or a different one. SSH into it first if needed.
Your sites will randomly go down when your ISP changes your IP. You'll have to manually update each site.
Install once on each physical server. It automatically updates ALL your sites on that server when the IP changes.
1. After creating your site on yxorp
Sign in and go to any site's details page
2. Copy the installer command
Look for the "Fix Dynamic IP" section with commands for both Linux/Mac and Windows
curl -sSL ...irm ... | iex (run as Admin)3. Run it on your server
Linux/Mac/Pi: Open Terminal (ssh if needed) on the device and paste the command
Windows: Open PowerShell as Administrator and paste
Note: Install on the machine hosting your sites (could be the same device you're on now). One installation per physical machine.
Done!
ALL your sites on this server will auto-update every 5 minutes. They stay online even when your ISP changes your IP.
Linux/Mac/Pi commands:
• View logs: tail -f ~/.yxorp/updater.log
• Uninstall: ~/.yxorp/updater.sh uninstall
Windows commands:
• View logs: Get-Content ~\.yxorp\updater.log -Tail 20
• Uninstall: Unregister-ScheduledTask -TaskName yxorp-updater -Confirm:$false; Remove-Item -Recurse -Force ~\.yxorp
Edit your HTML files on your computer, then run the rsync command from Step 3 to sync changes to the Pi.
Keep the Pi running
Your website only works when the Pi is on. The good news: it uses almost no electricity (about $2/year).
If it stops working
Your internet number probably changed. Install the auto-updater above to fix this automatically, or SSH into your Pi and run curl v4.ident.me to get the new IP, then update it in yxorp.
Everyone can see it
This is public. Don't put passwords or private stuff on it.
Server not running?
SSH in and check with pm2 status. Restart with pm2 restart website. View logs with pm2 logs website.