So how does this website work?
Even I'm not completely sure...
A little explanation
Let's start at the basic infrastructure. In my living room, there are three little mini pcs connected together. They run Proxmox VE, a Linux based platform for managing virtual envrionemnts. This began as a little project by my Dad which I hijaced to run this website.
I have two linux containers set up on one of the mini pcs, both running Ubuntu Server. One of these containers uses a program called NGINX (Pronounced Engine X but I call it N-jinks) which displays the static pages you've been looking at. The other hosts a github runner which automates updates.
I have a folder on my laptop which contains everything for this website. When i want to update something, I make a git commit and sync it to my github. From there, the runner automatically updates the copy of the files on the mini pc. This is great for resiliance, as I have three seperate copies of the website files stored in different locations in case something goes wrong. It also means I can update my website in seconds by clicking a few buttons.
However, there's one crucial factor missing here that I haven't talked about yet. The domain name, braydenthechick.cc, is the only thing I had to spend money on for this project (less than $10). Since I bought it through cloudflare, I got access to their firewall system. This is how I'm able to safely let people like you view my website without exposing my home ip.
Was it hard?
Not really, but it was time consuming and a bit frustrating. The most difficult part I remember was getting the github runner set up and working. I spent days trying to get it to automatically deploy changes.
How does it look so amazing and beautiful?
Originally, it didn't. See the "original website" page if you want to know. The current version is all built off of a template called Twenty, so a lot of images and text are placeholders.
Any big changes planned?
We've been talking about Kubernetes and Docker containers in my cloud computing class, and I've thought about using those here to learn a bit more. However, I believe it's wholly unnecessary and overcomplicated for this. I'll find something to do.
P.S. check out the new contact page, shoot me an email! It's pretty cool.