Disclaimer

Content

All content on this site — including configuration examples, code snippets, and tutorials — is provided for informational purposes only. It reflects what works on my servers at the time of writing. Your environment, software versions, and threat model may differ.

Test everything in a non-production environment before deploying it. I am not responsible for broken configurations, data loss, security incidents, or any other consequences of using the material published here.

That said, I run this stack myself. Nothing here is theoretical. It's just not your stack.

Accessibility

I make a genuine effort to keep this site usable with screen readers, keyboard navigation, and other assistive tools. I test manually and with automated checks where I can, but I'm one person without a formal testing lab. If something here is inaccessible to you — a code block that's hard to parse, a link whose purpose isn't clear, a navigation pattern that traps focus — I want to know about it. You can reach me at the address listed in the site's domain WHOIS record (a privacy-protected forwarding address). I log every report and treat them as bugs worth fixing.

I've written more about the thinking behind this in the accessibility article.