ahmza 3c5678f8a8
Build Hugo / build (push) Successful in 6m31s
Build Hugo / deploy (push) Failing after 24s
Run Hugo natively in build stage to skip QEMU emulation
Pin the build stage to $BUILDPLATFORM so Hugo runs once on the native
arch instead of once per target arch under QEMU. Hugo output is static
HTML and identical across arches, so the emulated arm64 Hugo run (~59s
vs ~12s native) plus emulated base-image extraction were pure waste.
The runtime stage stays on TARGETPLATFORM, so multi-arch amd64+arm64
images are still produced.
2026-08-03 15:40:22 +00:00
2026-08-03 13:12:58 +00:00
2024-11-29 02:26:53 +00:00
2025-06-13 11:34:00 +01:00

Blog

Overview

This repository contains the source code for my personal blog hosted at 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 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.

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

  • Migrate to Kubernetes
  • Migrate to Blowfish theme
  • Make repo private to ensure all keys etc are hidden
  • Update docker file
  • 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:

git clone ssh://gitea@tea.ahmza.com:2222/ahmza/blog-ahmza-com.git
S
Description
Readme
50 MiB
Languages
HTML 63.3%
Dockerfile 30.3%
CSS 6.4%