← All posts

Self Hosted Website

Developing a website to be hosted on a Raspberry PI. Lessons learned of Full Stack Development, server hosting, and other general self-hosting.

6 April 2026 · 3 min read ·

Self Hosted Website

Self hosting this website on a Raspberry PI

1. Introduction

About a year ago I bought the website domain NoahStuf.com (Someone else already had NoahStuff.com, and NoahSterenberg.com was too verbose). My intention was to eventually make a site for things that I wanted access to outside of my home (Basically making google drive). Although I would say I have good grasp on Javascript from my experience with Siemens WinCC Unified, putting it together with HTML and CSS was not something that I had done before. The concepts are pretty simple, but deploying into a site with the types of features I wanted would require something else besides the basics. Some of the big keywords that I have heard thrown about before like React, Node.JS, Next.JS, and Tailwinds I wasn't completely sure of their purpose, just that they seemed to be popular in the web dev world. The other side, self hosting on a Raspberry Pi, was just so that the cost to run the server really only is the cost of the domain (and the small amount of power used).

Quick Usage Calc 4W x 24hrs x 365days = 35.04kW / year and 35.04kW * $.20 / kW = $7.01

So $10 per year for the domain and $7 per year for the power, not bad compared to google drive costing $2 a month for 100GB. So if you ignore the cost of the raspberry pi, additional storage, and development costs (I am an expensive guy) it is a really cheap economical solution clearly.

2. Hardware

For hardware I went with the Raspberry Pi 4 model B. Not only because it is economical (As of writing I lied, stupid chip shortage), WAS economical when I initially purchased about 3 years ago (2023). I was able to get the Pi and a case for under $80. With 4gb of ram and customizable storage, it has more than enough firepower to run this website. I initially got the PI to emulate a retro arcade using the Retro PI OS, and enjoyed it for a little bit, but eventaully stopped using it. The performance of the games on the little Pi was good, so a little web server is no issue.

3. Software

For software, there is a multi level "stack" that I went with. Obviously I went with cloudflare to create a tunnel (awesome little free service) to connect the raspberry Pi to my domain without needing to utilize port forwarding. It also is pretty secure and gives me stats, so I am a fan. Super easy to setup too since it gives you the commands to run once you start the process in Cloudflare.

For the website itself, I along with the best experts on the modern web dev enviroment (claude and gemini) decided to use Next.JS to build the website. Once my expert laid the groundwork of the website, I read throught the Next.JS documentation, which is superb. I recommend giving it a read if you are interested at all about some of the current trends in web dev as it explains really well the purpose of React, Tailwinds, and other packages that Next.JS ties together. Also lays out the basics of the Document Object Model (DOM) of the web, that really makes how they approach building the website feel intuitive.

Feel free to look at the source code on github here.

4. Usage

The website mostly serves as a way for me to make posts about my projects (This clearly included), upload images I want to store on the cloud, and keep a PDF library that I can pull the books and files I find interesting. There is also a game because why not, try to top the leaderboard. I also like the stats that are shown to prove that it really is hosted on a raspberry PI. The Blog is cool because I can write the posts in markdown and upload them, that way if somehow my shotty web dev breaks and deletes all the files, I have it all saved locally on my main development machine.

5. Conclusion

In sum, I'm glad I built this, and it will be an effort of refining over time, so hopefully continues to get better.

Post Photos

Development Environment

Photo 1 of 1

Development Environment