iOSLife

iOSLife.dev Setup

Setting up this blog-site was actually incredibly simple thanks to a few tools I recently discovered. The below information will inform you on how I set this site up and what tools I used to do it.

Domain

First things first, I bought a domain. I actually bought ioslife.dev a few years back, but I haven’t had a use for it until recently. I purchased it on Google Domains, but if I were to buy it today I would’ve used Namecheap. (March 7, 2023 Update: I transfered my domain to Namecheap! No longer does Google have anything to do with my setup.)

Front-end Framework

I recently found out about this incredibly simple front-end framework called Hugo. It’s open source, it’s free, and it’s easy to use. Hugo is built in Go, but you don’t need to know any Go to use the framework. Hugo also has a TON of themes that you can select from. The theme I chose to use for this site is the Hugo Bear Blog theme. This theme is based on the Bear Blog platform, but made for Hugo. Simple, privacy friendly, no-frills, just a markdown blog.

Version Control

Do you really need version control for a simple markdown front end? Probably not, but the reason I am using it is two-fold.

  1. I’m a software engineer and I am used to using git for projects.

  2. The web-hosting platform that I am using connects to your repository to handle the publishing of the site.

My repository is hosted on GitLab, but you could host it on others (GitHub, BitBucket, etc.). I chose GitLab because you can host private repositories for free.

There are definitely other ways to host a Hugo site, but I found this to be extremely simple and error: ID10T proof.

Web-hosting Platform

This is where it gets really cool. The hosting platform I am using for this site is Netlify. Netlify is free for my use-case, but their pricing options seem entirely fair to me.

With Netlify, you can easily log into your Git account, connect a repository, and it will automagically recognize that you are using a Hugo site. Once it recognizes that, it will fill out the necessary hugo publish command. I found their getting started docs to be quite detailed and user friendly.

Netlify will then deploy your project to one of their auto-generated domains and you are live. You can optionally keep that auto-generated domain as your main point of access or change your DNS records on your domain that you purchased. If you haven’t purchased a domain yet, you could purchase one through Netlify, but I haven’t looked into that and, as stated above, I like Namecheap for domains nowadays.

Everytime you commit and push to your master branch on GitLab, Netlify will automatically publish an updated version of your site. CI/CD made simple.

Wrapping up

That’s it. That is all I had to do to get the site up and running. All the documentation for each of the platforms I chose to use were increldibly helpful and all of this took somewhere just north of 30 minutes to get deployed. I considered self-hosting the site on my unRAID server, but I didn’t really want that extra point of access into my NAS. Feel free to reach out on Mastodon if you have any questions about my setup.

#hugo #netlify #web hosting #git