Introduction π
Previously I tried hosting my personal blog/website (techiesandy.com) on a Wordpress site. This site was hosted on a Oracle cloud VM (VM.Standard.E2.1.Micro shape). Wordpress was installed on Docker with the following stack
- Mysql as database
- Nginx as the http server
- Certbot for automatic SSL certificate management via LetsEncrypt
- Wordpress
Entire site was proxyfied via Cloudflare.
The problem π
While it was all fun and exiciting to setup Wordpress site, choosing the right theme from a plethora of options and only then I started encounter issues
System performance π
As said, I hosted the whole stack on a Oracle cloud VM, specifically on a VM.Standard.E2.1.Micro shape which has a modest 1 core CPU and 1GB of system memory, which in theory should be sufficient for hosting a site. Atleast that is what I thought./ I constantly faced system unresponsiveness. Sometimes things were so bad that I could’nt even login via SSH. Installing system updates were always slow with frequent system crashes, so I always had to bring down the docker containers to patch the system.
Below is a snapshot of system resources used by the stack.
top - 10:37:15 up 15 days, 4:11, 1 user, load average: 0.01, 0.03, 0.00
Tasks: 154 total, 1 running, 153 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.2 si, 0.3 st
MiB Mem : 950.0 total, 12.1 free, 690.2 used, 247.6 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 180.2 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
58251 systemd+ 20 0 1778324 394468 0 S 1.0 40.6 309:57.46 mysqld
14 root 20 0 0 0 0 S 0.3 0.0 94:10.97 ksoftirqd/0
28 root 20 0 0 0 0 S 0.3 0.0 90:08.54 ksoftirqd/1
58217 root 20 0 1238400 2812 0 S 0.3 0.3 30:28.54 containerd-shim
Customizing the theme π
Another issue what I faced was customizing the theme what I chosen for the site. Now this is completely on me that I chose a theme, though very well designed was very difficult to customize. I constantly had issues moving design elements around the page. For example if I had to move the caption section anywhere around the page, it was quite a task !
Plugins π
Although there are a plenty of plugins (both paid and free) available for Wordpress, I found using them was was like using a freeware. Most of the features were locked down under a payment/subscription making them hard to use. Now I do understand that someone running a business might bear an expense of such a subscription, but for me, I want to only blog, so this was not going to work out.
Enter Hugo π
While attending an online live event, I came across the website of one of the speaker. I started casually browsing and felt how responsive the website was. At the footer of the site, I saw Powered by Hugo. Then I started exploring Hugo, found out that its quite easy to get started.
The journey π
So, I installed hugo on a Ubuntu WSL, went through the setup documentation found a simple theme and voila, I had a working website within few minutes. The next thing to figure out was about where to host this website/blog ?. Do I again host it on a Oracle cloud VM ? which would mean, I have to figure out how to secure the site, how to put the site behind Cloudflare proxy, etc. On further reading Hugo documentation, I found the different hosting options and what caught my mind was hosting it on Cloudflare pages. Thus, this site was born.
Further, I have also written on how to setup Hugo on Cloudflare pages. You can find it here.