Plausible vs Umami vs Matomo vs PostHog: Self-Hosted Analytics on a VPS (2026)
Every site I run sends its traffic data somewhere, and for years that "somewhere" was Google Analytics. Then GA4 happened, the EU cookie-consent banners piled u...
Every site I run sends its traffic data somewhere, and for years that "somewhere" was Google Analytics. Then GA4 happened, the EU cookie-consent banners piled u...
Every self-hosted service on a VPS eventually hits the same wall: you have three or four apps listening on different ports, you want clean subdomains instead o...
If you have ever stared at a Railway or Render invoice and thought "I could run this myself for the price of a coffee," you are exactly the person these three t...
If you run more than two servers, the question of how to manage Docker stops being a luxury and starts being a daily chore. I hit that wall myself last year. Ac...
Every few months a client asks me the same question: "We're tired of WordPress — what headless CMS should we self-host?" In the last year alone I've stood up ...
Self-hosting your error tracker used to mean one of two things: pay Sentry's SaaS bill every month, or surrender a chunk of your VPS to run Sentry's full open-s...
For the past two years I have run all my operational alerts — cron failures, blog import errors, SSH fail2ban trips, IndexNow rejections — through a...
I have spent the last six weeks running Plane, OpenProject, and Leantime side-by-side on the same Hostinger KVM 4 VPS — 4 vCPU, 16 GB RAM, NVMe — and rotat...
I spent the last three months running Documenso, Docuseal, and OpenSign side-by-side on the same Hetzner CPX21 VPS (3 vCPU, 4 GB RAM, $9.42/month) to figure out...
Six months ago I migrated a Photography Studio Manager client's 11-year contract archive — about 18,400 scanned PDFs, model releases, invoices, and shoot brie...
If you have an OpenAI API key, an Anthropic key, and maybe a local Ollama box, you are paying for three different web UIs that all do roughly the same thing —...
If you run more than three internal tools, you eventually hit the same wall I did: every dashboard wants its own login, your password manager turns into a junk ...
Last quarter I migrated three of our seven aggregator sites off Cloudflare Tunnel onto Pangolin running on a $7/month Hetzner VPS. The trigger was specific: Clo...
Self-hosting your photo library used to be a nerd hobby. After Google Photos quietly tightened its free storage in 2021 and Apple kept nudging iCloud subscriber...
When GitHub went dark for the third time in 18 months last quarter, our deployment pipelines across seven aggregator sites froze mid-push. That was the day I fi...
Connecting a fleet of VPS instances that span Hostinger shared, Hetzner cloud, and a couple of bare-metal boxes used to mean port-forwards, IP allowlists, and t...
I have been running self-hosted password infrastructure for our team at Warung Digital Teknologi (wardigi.com) since late 2022. Across the 50+ client projects w...
Self-hosted analytics finally hit a tipping point in 2026. Between Google Analytics 4 fatigue, the post-April Core Update push toward verifiable first-party dat...
Last December I shipped a small change to the way our 7 aggregator sites talk to MySQL, and within an hour two of them started returning 502s. The problem wasn'...
I have been running self-hosted uptime monitoring on a $4.50/month Hetzner CX22 VPS for the last 18 months — initially to keep tabs on seven aggregator sites ...
Three years ago I picked Nginx for everything because it was the default in every Laravel deployment guide I had ever read. Today I am running a mix of Caddy, N...
Why Your Choice of VPS Control Panel Actually Matters When I migrated the first three of my seven aggregator sites from Hostinger shared to VPS last year, the ...
I have been managing servers for about nine years now, and in that time I have watched smart people waste extraordinary amounts of money on performance optimiza...
I'm going to say something that will make half the DevOps community angry: most startups should not be using Kubernetes. There. I said it. And before you close...