Self-Hosting Frappe HRMS: A Production-Grade Docker Compose Deployment
How I deployed Frappe HRMS on my own infrastructure using Docker Compose, Caddy, Cloudflare, and WireGuard — with automated backups, user access control, and a rollback strategy.
7 posts
How I deployed Frappe HRMS on my own infrastructure using Docker Compose, Caddy, Cloudflare, and WireGuard — with automated backups, user access control, and a rollback strategy.
A deep dive into analyzing a deployed Hermes agent's RAM and disk footprint, the five changes that cut its memory reservation in half, and the SQLite performance tuning that made it snappier.
Running an MTProto proxy on a VPS so I can connect when Telegram is blocked.
Running a WireGuard VPN server in Docker on a VPS for personal use.
Why I moved my autonomous AI agent (Hermes) from an Incus container to a hardened Docker Compose stack — seccomp, read-only rootfs, dropped capabilities, network segmentation, and the tradeoffs I made along the way.
A debugging story about orphaned processes, memory pressure, and the simple fixes that prevent long-running AI agents from silently consuming your server's RAM.
A real-world walkthrough of securing a production Ubuntu server — SSH hardening, fail2ban, firewalls, kernel tuning, Docker security, and the gaps I'm still fixing.