ahmza 7e1728a037 Restrict Caddy trusted_proxies to Cloudflare IP ranges
Replace 'private_ranges' with Cloudflare's official published edge ranges
(15 IPv4 + 7 IPv6 from cloudflare.com/ips-v4 and /ips-v6). This ensures
Cf-Connecting-Ip / X-Forwarded-For are only honoured for requests that
genuinely originate from Cloudflare, preventing client-IP header spoofing
from any other source.

Validated + fmt-clean and tested at runtime against the caddy-cf image:
Caddy starts cleanly with all 22 ranges, serves HTTP 200 with gzip and
security headers.
2026-07-25 04:25:25 +01:00
2025-06-13 11:34:00 +01:00
2024-11-29 02:26:53 +00:00
2026-02-15 23:42:18 +00:00
2026-02-11 22:17:31 +00:00
2024-11-29 02:26:53 +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%