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 start the web server using screen (so it keeps running when you disconnect):
Run the server
ssh username@raspberrypi.localcd mywebsitescreen -S website (this creates a "screen" session)python3 -m http.server 8080exit to close SSH — your website stays running!💡 To check on it later: SSH back in and type screen -r website. To stop it: press Ctrl+C, then type exit.
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.
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. Run curl v4.ident.me and update it in yxorp.
Everyone can see it
This is public. Don't put passwords or private stuff on it.
Server crashes?
SSH back in, type cd mywebsite, then screen -S website, then python3 -m http.server 8080, then Ctrl+A D.
Pi reboots?
You'll need to manually restart the server after a reboot (SSH in and follow Step 4 again).