Build My First Blog

Blogging seems so old in 2024. Some might say it’s a dead thing from the Web 1.0 era. But after so many years of diving into the “Information Ocean”, I decided to build my first blog.

I’m not a good writer, I may just be an “ATTENTION-SEEKING MONSTER”. “Normal people don’t write dairy” as people say. But I have so many interests and want to share them. This blog might just be too technical. I’m not sure. But I will try to write something interesting.

Getting Started

I have many experiences setting up websites, youBBS, Discuz!, Misskey, Nextcloud, whatever. I even tried Next.js. But I know I have bad design sense. The final products look like plain HTML pages but are built with kilobytes of JavaScript and take seconds to load. I don’t want that.

I have generally good experience with Markdown, so I decided to use a static site generator that lets me write in Markdown. After a few web searches and YouTube videos, I landed on HUGO. It seems well-supported and feature-rich. So go on with the construction.

The comment system

Seems strange to think of comments before building the blog. But I over-engineer sometimes. I want a comment system that isn’t controlled by a third party. So a lot of options are out. Searching, I found Commento and its latest fork, Comentario. Just a docker-compose file and an SMTP service, I’ll have a self-hosted comment system.

Getting an SMTP service for my custom domain was harder than I thought. I’m using Amazon WorkMail, so setting Amazon SES will be as simple as it is. But no, sending emails with Amazon SES to other domains requires production access. For unspecified reasons, AWS just declined my request. I also tried just using SMTP service with Amazon WorkMail, it just ignores the alias and FROM field. So I have to search for other options.

SendGrid seems to be a good option. But the sign-up process asks for a company name, not a service for personal use, so continue with the search. Mailtrap offers a free service for personal projects, so I use it. The initial setup is easy, just some DNS records. It requires a domain verification process with the support team, which seems not usually deal with individual users and asks for company emails. But after a few emails, they just verified the domain.

Build the blog

Blogging with Hugo is easy. Open a git repository, set up a devcontainer and Hugo is ready. A theme is needed from the start, Hugo themes listed many themes. I chose a good-looking and well-maintained one, the hugo-theme-stack. Reading through the documentation, referencing the example site, and setting up the config file, the blog is ready.

Get everything ready

CloudFlare is a go-to for me. I bought the domain there, and put the comment system on the VPS and behind the CloudFlare proxy. Setting up the pages build and everything is ready.

Conclusion

The total effort for building the blog is just a few days, and most of the time is spent on getting an SMTP service. Now I need to write more.

Licensed under CC BY-NC-SA 4.0
Last updated on 03 Feb 2025 10:56 UTC
Built with Hugo
Theme Stack designed by Jimmy