blog-hugo
This is probably the hundredth rendition of this site xD Previously to using HUGO my blog was built using GHOST CMS which is a great platform and is feature rich. However my problem came with the base design philosophy of a CMS, relying on a Database.
HUGO is a static site generator meaning it takes a readable file format like markdown and then compiles all that down into HTML (Static Files) This removes the need for a database and in turn improves performance of the site ten fold.
Pros of static sites
- Security
- Reliability
- Speed
- Scalability
- Low Resource requirement
Cons of a static site
- Less user friendly
Why
The reasons above all fit within my goal of trying to containerise services running in my home lab.
The plan is to move the services I use to a cluster of Raspberry Pis. As long as the services have an ARM image or I can build an ARM image then this is a viable solution
How
The deployment method of this site relies on the Gitlab CI/CD pipeline.
- Clone the repository
- Push changes to Gitlab
- Gitlab runners create the docker image
- Image is pushed to my private docker repository
- Pi cluster uses that image to host the site locally
When Pulling / Cloning
Be sure to add --recurse-submodules as the theme used is a submodule
git clone --recurse-submodules git@gitlab.com:AHMZA/blog.git
Update the theme
As the theme is a submodule it will need to be update with the following
git submodule update --remote --merge