Migrating to a new Blogging Engine

Like I already told in my previous post about the state of this blog, I've recently and randomly found a really cool, personal blog, written by Drew DeVault. One of his posts was about his blogging engine and workflow, which, according to him, involves Neovim as the editor (just like I use as well!) and a git server to which he is able to push his changes, which then are instantly deployed using some specific (and I guess quite niche) static site generator. Said workflow sounds incredibly exciting to me and makes me want to try the exact same thing. With one change, nonetheless, since I do not have the same specific and high requirements for the actual static site generator, which he had. I simply want something that works with the highest priority being the lightweight nature of the service and small footprint on memory and storage (as I only have 1G & 10G respectively on my VPS, as I have stated before as well).

After researching a bit, I have come to the conclusion that I cannot do much wrong with a rather default choice for static site generation called hugo. Since I am not exactly 100% sure I want to switch to it, however, I am going to spin up a small virtual container on my local proxmox server to try the workflow out and see what I like and dislike about it.

To start out, I simply made a new Alpine Linux Container with very minimal specs:

Since I was particularly lazy, I simply installed the hugo package via the edge-alpine linux repository and created a new project with the hugo cli. Then, I went searching for a good-looking color scheme and just decided for one that looked good enough for my liking (this is just a test anyway, not the final shipped product to my VPS). After configuring the display scheme a tiny bit (different colors), I was already ready to host some stuff! I just had to add it to my Caddy configuration and it already sort of worked. But only sort of. It just displayed a few text lines without any content... So the theme did not really display anything... Strange...

I figured it out, since it was simply just a problem with cross origins and it not knowing on what source to bind, so hugo tends to bind to localhost, which is rather bad for a container... But whatever. As the simple static file server I just use Caddy, which is very much not built for this thing (well, at least not mainly) but it works and I know how to work with it...

Finally, I got it all working. I can now create new posts quite easily and edit them in Neovim. It might be better long term to have my posts as normal markdown files on my own computer as well as my server, but after having set up hugo, I do not feel the need anymore to switch to a static site generator. I really like the convenience of being able to publish from any device and having the blog be always accessible.

Concerning the longevity, I might need to think about a solution for backups for my blog, since by now it has become quite a big collection of work hours I have spent writing and I would prefer to not lose it by simply having a corrupted file system (despite that being very unlikely on Debian stable...)

I found an acceptable solution: From time to time, I will manually download an entire image of my VPS (since it's only 10 GB max) and will regularly download my blog as a JSON file (which WriteFreely supports natively. It's definitely not ideal, as I would have liked something more automatic and not manual, but it will work for now and I guess, for now, I won't need to worry about it.