# Blog ## Overview This repository contains the source code for my personal blog hosted at [blog.ahmza.com](https://blog.ahmza.com). ## Features Using Gitea provides several advantages: - **Highly Customizable CI/CD Pipelines**: Automated processes for building and deploying the blog via Gitea Actions. - **Gitea Container Image Repository**: Efficient management and storage of container images. - **Custom Gitea Runners**: Flexibility in managing the CI/CD environment. The CI/CD pipeline is configured to build the blog for both amd64 and arm64 architectures, allowing me to host the site on my [Pi cluster](https://blog.ahmza.com/posts/pi-docker-swarm/) as well as on other x86 platforms. ## Motivation My previous homelab setup included rack-mounted, power-hungry servers, which were expensive to run. By migrating to a Raspberry Pi cluster, I significantly reduced costs and improved efficiency. You can read more about this migration on my [site](https://blog.ahmza.com/posts/building-a-docker-swarm-with-pis/). A static site generator was the best choice for my needs, as I don't require a dynamically updating site. It provides simplicity and efficiency without sacrificing performance. ## Benefits of Static Sites - **Security**: Reduced attack surface due to the absence of a server-side backend. - **Reliability**: Less prone to downtime and issues. - **Speed**: Faster load times since content is pre-rendered. - **Scalability**: Easily handle large amounts of traffic. - **Flexibility**: Greater control over content and design. - **Low Resource Overhead**: Minimal resource consumption compared to dynamic sites. ## Implementation - **Hugo**: Converts Markdown files into static HTML/CSS/JS files. - **Gitea Actions**: Automates the build process and creates Docker images. - **Kubernetes Cluster**: Serves the static files to users. ## To-Do List - [x] Migrate to Kubernetes - [x] Migrate to Blowfish theme - [x] Make repo private to ensure all keys etc are hidden - [x] Update docker file - [x] Migrate to hugo modules for the theme - [ ] Continue to write awesome posts ## Notes ### Cloning the Repository The Blowfish theme is managed as a Hugo module, so no submodules are required. Clone the repository with: ```bash git clone ssh://gitea@tea.ahmza.com:2222/ahmza/blog-ahmza-com.git ```