How I set my blog up
I've started working on this blog a few days ago, and I have to say, it was very fun. The idea lingered in my head for waaay longer, for about a year and now, I finally got to do it.
I will split this post into two sections:
Here is the GitHub repository where this blog's source lives.
I will start with my editing space but first an overview.
I edit Markdown files with Neovim.
Then build the blog with Zola.
Push it to the Linode server with a custom Bash script I wrote.
Unpack it automatically on the server with a service I wrote (Just another Bash script).
SWS (Static Web Server) serves the files to you!
Editing Space
I use Neovim to edit all configs and Markdown files. Markdown is used by Zola to generate the blog's content.
Zola is a static site generator written in Rust. It uses Markdown to generate websites, and you can customize it with custom or premade themes.
I use Terminus as my theme.
The first thing I wrote was my content/_index.md, which is the homepage.
With zola serve or zola serve --drafts (if drafts should be shown), Zola serves the website locally.
If I am happy with my work I remove the draft tag from the file and deploy the site to my Linode Nanode server.
A Nanode is the smallest server size from Linode.
I have a Nanode which costs €5 a month has 1 vCPU and 1 GB RAM.
For deploying, I use my custom Bash script. It builds and uploads the website to my server.
The Server
On the server, a service runs the Upload Watchdog to catch the newly uploaded website and unpack it into the website directory.
Two SWS services, one for https the other one for http, serve the files to the outside world.
Don't forget to open port 80 for http and port 443 for https or else no one can access the website.
To get an SSL certificate, I used Certbot which I can recommend. It issues a certificate fast, for free and renews it automatically.
The https SWS server uses this config, which has the paths of the certificates to be able to use https. The http SWS server uses this config if anyone is interested.
Conclusion
It took me only a few days to set this blog up, but it was great fun.
Thanks for reading and I wish you a nice day.