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.