This is a brief overview of how I developed this site, as well as how it is currently running.
So how does it work? The code is hosted on github so feel free to browse at your leisure. The code is licensed under the Apache-2.0 license, so copy, reuse, mess around with whatever you feel like. If you have suggestions, feel free to open pull requests or issues.
This website used to be hosted on a local HPE ProLiant MicroServer Gen8. However, over time I decided to move to a virtual host. This massively improves uptime, and means that I don't need to put in the effort of maintaining my own local host.
The downside of this option, of course, is the lower specs for the price. My virtual host has only 2 vCPUs and 4 GB RAM, along with two hard drives (40GB nVME and 100GB NAS). But considering the fact that it doesn't rely on my own internet connection, is situated in a datacentre with a very fast internet connection, and has automated backups... I think the tradeoff is worth it for my own purposes.
Although previously I was running my code in Openshift, I have instead decided to lean more heavily on the lower level tools for this iteration. Currently all of the content on this site is hosted via Docker containers, and these are routed by nginx.
The container running this main site is based on Tiangolo's docker image, combining meinheld, gunicorn and flask into a single docker container. I make a few small changes which you can see in my own Dockerfile. I warn you though, it's not that interesting!
My registrar is Gandi, although it annoys me that they spelled Gandhi wrong :p
They've been pretty easy to work with and have a good corporate philosophy in my opinion. I use their mail server as I'm not interested in setting up a mail server from scratch just yet.
There's still a few things that I want to do on here, which I haven't gotten around to.
- The contact form still doesn't do anything.
- The artificial window project page got released too early, it's not complete yet.
- RPGs should eventually have a full-text search. But effort.