As the first blog post, I wanted to cover my exploration of setting up a self hosted blog (with minimal cost). My requirements was having a setup where I could write my posts in markdown and the underlying framework and deployment system auto renders my content as a blogpost in a static website.
Experimenting with setups
Ever since my first attempt at blogging in 2012, I have been trying out different blogging setups from blog hosting platforms like blogger and wordpress to self hosting setups. Self hosting setups provide more control on the look and feel of your blog, but they come at the cost of putting in the time to setup your host and configuring deployment strategy. For this blog, I wanted the extra control on the themes since I plan to experiment a lot with the look and feel so I started exploring the self hosted setups.
Github Pages
Github Pages is the easiest way to setup a static site, and github does most of the heavy-lifting for you. Most setups are either html based or markdown based. Since I wanted to minimize effort, I chose the markdown setup with some Jekyll themes. Everything was great in this setup apart from having to keep the github repo public (as a free github user, pro users can keep their github pages repo private).
Hosting on AWS
I had already started making the site using hugo and was looking to deploy it to AWS. I had free AWS credits, so I wanted to try setting up a static site using their guide. The steps seemed complex for a simple static site host, so I switched to Netlify due to ease of setup and that is my current host.
Current Setup
Website
The blog itself is create on hugo as a static site with the xmin theme. This is not very different from Github Pages, but it has a huge community support and a lot more options to customize.
Deployments
The blog is setup on Netlify as it requires minimal work on my side to maintain and update the site. The software lives on a private github repository which auto syncs to Netlify. Essentially, a new post (or update) to the site is as simple as making the changes locally and doing a git push to the main branch - netlify picks up the changes and auto deploys within a few minutes.
That’s all I have for the first post on this blog, thanks for reading!