jani@raatti:~/blog $ ls -la --sort=date
[email protected] — blog — 4 articles
cat self-hosted-git-with-forgejo-on-rhel.md
title: Self-hosted Git with Forgejo on RHEL
date: 2026-04-11 (6 hours ago)
author: Jani Karlsson
category: DevOps, Linux, Server
tags: #devops #forgejo #git #gitea
---
A practical install guide for Forgejo on RHEL - self-hosted Git forge with MariaDB, Apache reverse proxy, Cloudflare TLS, and direct SSH on port 2222. Keep your code on your own hardware.
jani@raatti:~/blog $
cat simplicity-is-a-feature-migrating-to-cloudflare-tunnel-on-red-hat-linux.md
title: Simplicity is a Feature: Migrating to Cloudflare Tunnel on Red Hat Linux
date: 2026-03-22 (3 weeks ago)
author: Jani Karlsson
category: Cloudflare, DevOps, Linux
---
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry Unnecessary ...
jani@raatti:~/blog $
cat from-bandwidth-mystery-to-hardened-origin-a-day-of-server-security.md
title: From Bandwidth Mystery to Hardened Origin: A Day of Server Security
date: 2026-03-20 (3 weeks ago)
author: Jani Karlsson
category: Cloudflare, DevOps, Linux
---
What started as a bandwidth mystery turned into a full server security audit: wp-cron self-hammering, attack traffic analysis, compiling mod_evasive from Fedora src.rpm on RHEL 10, and locking WordPress behind Cloudflare-only origin access via firewalld ipset. Plus the firewalld chain order trap that took the site down mid-session.
jani@raatti:~/blog $
cat how-to-build-a-secure-ubuntu-web-server-on-hetzner-cloud-the-right-way.md
title: How to Build a Secure Ubuntu Web Server on Hetzner Cloud (The Right Way)
date: 2026-03-19 (3 weeks ago)
author: Jani Karlsson
category: DevOps, Cloud, Cloudflare
tags: #cloud #cloudflare #devops #hetzner
---
So you’ve decided to spin up a cloud server. Brave soul. The internet is full of curious visitors — and by “curious visitors” we mean ...
jani@raatti:~/blog $