Homelab Server

2015 – Present

Current Projects

AppDescription
WordPressThe site you are currently on! This was a learning experience for setting up complex platforms on custom domains, but also is simple to use and efficient.

Why make a new solution when existing ones work effectively?
TraefikA routing application that enables me to setup reverse proxies for my domain, enabling me to host all these different applications on various VMs, and have traffic directed through a gateway. It also supports handling SSL and External DNS through LetsEncrypt and Cloudflare respectively.

This was a huge lesson in the complexities of SSL, external DNS, routing, and reverse proxies. This is the core of my network.
PostgreSQLThe primary database I use for several of my applications, both listed here and otherwise.

I have a long history of using MS SQL, AWS Athena, Snowflake, PostgreSQL, and MongoDB. This is an easy and free option that handles all my small-scale needs.
Kubernetes + CalicoA single-node cluster to both learn about Kubernetes and to have a place to deploy Docker containers, both manually and with CI/CD.

Boy howdy was this a learning experience! Before setting this up, I had never used Docker before and that made this whole setup about 5 times harder than it really should have been. Still an excellent solution to setting up complex applications that need to work every time.
AuthentikAn authorization method that supports LDAP and OpenID to authenticate users. Also had a UI to enable users to select what app(s) they’d like to open all from one dashboard.

Made me have to re-work my SSL setup as it’s requirements for setup were more stringent that I had needed before this time. Made me replace NGINX Proxy Manager with Traefik to support the more advanced setup.
GiteaA local git instance that is used to replicate Github code. It’s not good for open-source projects, but it is a great place to keep and work on personal projects.
AudiobookshelfAn audiobook reader that is accessible via desktop and mobile. I upload m4a and mp3 bundles from books I purchase from Audible or Libro.fm to be able to read from an app that is more comfortable, and that i can share with my Wife without overriding each others listening progress.
JellyfinA media serving application that is like my own personal Netflix. I upload media, which is usually content ripped from DVDs and Blue-Rays that I own, and then can watch on my smart TV, desktop, phone, or tablet.
FoundryA platform for hosting virtual tabletop games like Dungeons & Dragons.

Previous Projects

AppDescription
Minecraft ServerA minecraft server for my friends and I to hang out with each other for extended periods.

We had several worlds over several years before we all eventually all got married, started having kids, and having less free time.
NGINX Proxy ManagerWas my first attempt at setting up SSL and Reverse Proxies. Thought it worked, it had limited websocket support, and SSL was not fully supported in edge cases. Taught me a lot about networking and specifically traffic routing in general.