A major factor in most of my technical decisions is the ability to retain control. In the case of web hosting, it was acceptable for me the bare the responsibility to build and maintain the system. The utilization of Hugo allows the portability of the content in the event of relocation. To meet my criteria, a cloud based linux server was all that was required.
As a premium user of Github, I explored the ability to host this site on Github pages. This initially led to my exploration of Jekyll. The documentation is good. The automatic integration to the gtihub repository was a bonus. There was no Let’s encrypt support but they did offer TLS support. There were soft usage limits imposed as outlined in their help page. I do not expect the imposed limits to present an issue but wanted to avoid any potential issues. I wanted to note it is possible to minimize utilization on Github pages by utilizing AWS as a content provider.
I also explored hosting a Jekyll site on AWS. The overall process to build and maintain the system is fairly well documented. Daniel Whyte outlined the major steps in this blog post Overall, this solution worked without issue. There were a few factors that led me away from this solution. The lack of the Let’s encrypt support, portability, and potential billing aka Money. None of these factors were overwhelming. (Well, maybe the potential for a huge bill)
In the end, I opted for hosting on Digital Ocean. Digital Ocean is a sponsor on the BSD now posdcast. I opted to give them a try with the “house money” provided by their referral code. FYI: Here is my referral code. I was able to quickly spin up an Ubuntu server get get my build process started. At this time, I have been able to accomplish everything I needed from this setup. I will expand on the build process in an upcoming blog post. I have been able to implement let’s encrypt, install Hugo, easily maintain/update the system, and keep costs reasonable. I am also able to maintain a QA system in-step with the production server to perform any required testing.
For now, this solution meets all of my needs. As the overall solution is portable, it can be changed anytime.