The codebase can be found on github
Hardware & Software Stack
Hardware
The physical webserver is an old Dell Optiplex behind a Unifi Dream Machine firewall and router. Information on the network setup can be found in the Homelab project.
Software
- Debian Linux - Operating System
- Apache2 - Webserver
- Django - Python application programing and backend
- Hugo - Static site generation for basic site layout
- Google Domains - Domain registrar for arthurshmidt.com
Debian & Apache
Debian
I have used Debian as my primary server OS and my daily driver for years. I have experimented with and have experience with many other linux distributions, but I keep returning to Debian for its robustness, ease of use, and b/c it just works! True, it may not have the bleeding edge of software releases, but for a basic web server, stability if more important that the latest releases.
Apache
Apache! Enough said. It does everything I need and more. It allows for the virtualization of websites, so I can run multiple websites on a sngle piece of hardware. Check out my fiance’s website hosted on the same machine. Jennifer Houck
Hugo and Django
Hugo
The front facing portion of my website does not need backend functionality. Additionally, I was looking for an easy way to update basic information about projects and my CV. The Hugo static site generator makes this very convenient. Editing and moving files around is extremely easy. Also, website themes can easily be switched in and out without difficulty.
In the future, I may in fact look into creating a basic theme for myself. Currently I am using the risotto theme created by Joe Roe.
Django
I’ve layered Django in because it allows for strong backend functionality, native database access, and Python scripting. With Django I can build robust applications with database functionality. Examples include - an application accessing and managing my library of books; an application accessing and sharing astrophotography imagery.
With the numerous Python libraries in existance the possibilities are truely endless.
Other
For more detailed information on the website and its development visit the github account.