Break things. Fix them. Learn.
This site runs on an Intel NUC hosted at home, behind a standard fiber connection. Its main purpose is to serve as an experimentation ground for testing server configurations, automation scripts, and open source security tools.
Not a professional website — a homelab: we break things, fix them, and learn.
🛠️ Tech stack
| Tool | Role | Link |
|---|---|---|
| 🔒 CrowdSec | Community IDS/IPS | Dashboard |
| ☁️ Cloudflare | CDN · WAF · DNS · DDoS | Dashboard |
| 📊 BetterStack | Monitoring · Alerts · Logs | Status page |
| 🌐 Hugo | Static site generator | gohugo.io |
| 🛡️ ModSecurity | Local WAF · OWASP CRS 4.x | OWASP CRS |
| ⚡ nginx | Reverse proxy · TLS 1.3 | nginx.org |
🌟 Don’t miss
Three articles that capture the spirit of this homelab:
- 💥 Post-mortem: incident 522 / WAN failover — When WAN1 dies in the middle of the night and the 4G failover doesn’t go as planned
- 🔐 From 46 hashes to zero: CSP migration to nonces — An elegant solution to the nightmare of
script-src 'sha256-...'piling up - 🧠 Grav MCP Server: connect Claude.ai to your site — Complete tutorial to drive your CMS from a Claude conversation
📚 Full documentation is in Documentation and automation scripts in Scripts.
🐛 Found a vulnerability?
If you discover a bug, misconfiguration, or security vulnerability on this server, please report it. This homelab is public and I learn from my mistakes.
📨 Responsible disclosure: www.arleo.eu/security.txt
Any contribution to improving security is welcome.





