JH0project Blog

Revisiting JH0project’s DNS for DN42

2026-01-02

Anycast
DN42
DNS
Garage
Infrastructure
PowerDNS

How static DNS zones bundled into container images became inconvenient to maintain, and the requirements that shaped a new approach to DN42 DNS and certificate renewal....

From Grafana Cloud to Distributed Prometheus and Thanos

2025-12-08

Garage
Grafana
Infrastructure
Monitoring
Prometheus
Thanos

How JH0project moved from Grafana Cloud and a central Prometheus design to local collection with Prometheus, Thanos, and Garage across six servers....

Running our own image processing CDN

2025-11-02

CDN
Caching
Edge
Imgproxy
Infrastructure

In our previous post, we explored how KeyDB was used to cache optimized images for Next.js. While this improved performance initially, we later encountered significant drawbacks that led us to rethink...

JH0project's DNS for DN42

2025-01-14

Anycast
BGP
DN42
DNS
Infrastructure

We host our own BIND 9 DNS server mainly for the DN42 network. To allow easy management and versioning of BIND 9 config and the DNS records, we containerized the BIND 9 server and run it as a Docker c...

Caching Next.js Image with KeyDB

2025-01-05

Caching
Image Optimization
Infrastructure
KeyDB
Next.js
Redis

We use Next.js exclusively for our website, on top of that, we use Next.js's Image component to optimize the image. To reduce the size of the image, we use AVIF format, which is a modern image format ...