From 34c5756f947d60bcd9122347d509d792d5705992 Mon Sep 17 00:00:00 2001 From: Thibault Le Ouay Date: Thu, 6 Aug 2026 12:40:43 +0200 Subject: [PATCH] blog: self host post (#2552) --- .../self-hosting-openstatus/self-hosting.png | Bin 0 -> 74628 bytes .../pages/blog/self-hosting-openstatus.mdx | 79 ++++++++++++++++++ apps/web/src/data/author.ts | 4 + 3 files changed, 83 insertions(+) create mode 100644 apps/web/public/assets/posts/self-hosting-openstatus/self-hosting.png create mode 100644 apps/web/src/content/pages/blog/self-hosting-openstatus.mdx diff --git a/apps/web/public/assets/posts/self-hosting-openstatus/self-hosting.png b/apps/web/public/assets/posts/self-hosting-openstatus/self-hosting.png new file mode 100644 index 0000000000000000000000000000000000000000..37e3019444d3d647cf8305755c8c1d2d298167f8 GIT binary patch literal 74628 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�N2CiSfAc!+i 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 zℜ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 HoD!M<{4CUk literal 0 HcmV?d00001 diff --git a/apps/web/src/content/pages/blog/self-hosting-openstatus.mdx b/apps/web/src/content/pages/blog/self-hosting-openstatus.mdx new file mode 100644 index 00000000..af8e05a5 --- /dev/null +++ b/apps/web/src/content/pages/blog/self-hosting-openstatus.mdx @@ -0,0 +1,79 @@ +--- +title: "Self-hosting openstatus: The Hurdles Then, the Experience Now" +description: "Self-hosting openstatus used to be a massive hurdle. That's no longer the case — let's see what's changed." +author: "Max Lim" +publishedAt: "2026-08-05" +image: "/assets/posts/self-hosting-openstatus/self-hosting.png" +category: "engineering" +--- + +Hi! I'm [Max](https://www.linkedin.com/in/max-lim/) + +I'm a student and aspiring software engineer who loves tinkering with self-hosted infrastructure. Over the past few weeks, I've been working to make the open-source self-hosting experience for openstatus smoother. What started as me trying to run openstatus on my own setup turned into digging through the repo and submitting a series of fixes. The team eventually invited me to write about the journey here on the official blog! + +If you tried deploying openstatus yourself a few months ago and hit a wall, good news: things look very different now. + +## The Initial Friction + +First, huge credit to the openstatus core team. Their commitment to open source is real and their community responsiveness is excellent. But just a few weeks ago, getting a self-hosted instance running end-to-end was still a bumpy ride. + +The self-hosting docs had enough outdated instructions to derail most setups: + +* **Tinybird & Auth Quirks:** Environment variables and API setups for telemetry were finicky out of the box. +* **Broken Statuses:** Private locations stuck on permanent "Error" states. +* **Documentation Gaps:** Key steps for local database migrations and background jobs were missing. + +When I brought these issues to the team, the response was immediate. Thibault [pushed an initial docs fix](https://github.com/openstatusHQ/openstatus/pull/2440) that same day, which kicked off a series of updates focused on making self-hosting a first-class experience. + +## Private Locations: Reaching Feature Parity + +The biggest hurdle wasn't just getting openstatus to boot — it was making it useful. + +Previously, private locations came with major compromises. openstatus's managed SaaS has both global edge checkers and private locations, but self-hosted instances rely entirely on private locations for monitoring. That meant any feature gaps in private locations hit self-hosters especially hard, turning what should have been full status pages into stripped-down health checkers. + +Since private locations are the backbone of any self-hosted setup, that limitation had to go. + +I set out to close the gap. Today, **private locations have full feature parity with global checkers**. This upgrade improves self-hosted deployments a lot and also makes private locations significantly better on the managed SaaS. That means: + +* **Real-time Latency & Uptime Graphs** directly on your dashboard for all monitor types. +* **Automated Incident Triggering** when a probe detects a failure. +* **Multi-Channel Alerting** via Webhooks, Slack, and Discord. +* **Public Status Page Integration** driven by your private locations. +* **Fixed TCP and DNS monitors** for Private Locations. + +## Status Pages & Monitor Experience: Then vs. Now + +Fixing the underlying telemetry was only half the battle — the frontend experience needed serious care too. + +Before these updates, using private locations felt incomplete: +* **Empty Graphs:** The monitors page for private locations showed no response time graphs or operational data, making it impossible to spot latency spikes or historical trends. +* **Inaccurate Downtime Reporting:** Private locations failed to reflect actual outage states accurately, leaving status pages in a perpetual "Operational" state even during active failures. +* **No Threshold Logic:** A single transient network hiccup could misrepresent a service status without any multi-probe verification. + +Now, private locations integrate seamlessly across the board: +* **Full Data Visibility:** Private locations display identical latency graphs, uptime percentages, and status history as cloud monitors. +* **Smart Downtime Thresholds:** Status calculations now evaluate probe consensus. The service properly reflects status based on the majority status of the probes. This mirrors the behaviour of cloud monitors! + +## Why Self-Host openstatus? + +With these fixes in place, self-hosting openstatus is a solid option for teams with specific infrastructure needs: + +* **Complete Air-Gapped Environments:** The managed SaaS supports private locations for internal network monitoring, but a full self-hosted deployment lets you run the entire monitoring control plane inside strictly isolated, air-gapped networks without sending telemetry to external cloud APIs. +* **Data Sovereignty & Strict Compliance:** Certain industries (healthcare, finance, government) require all operational data, status dashboards, and system logs to stay entirely within self-managed infrastructure. +* **Custom Retention & Zero Rate Limits:** Self-hosting gives you full control over your database, data retention policies, and check intervals without plan restrictions or tier limits. + +## Why openstatus's Managed SaaS Might Still Be Better for You + +Self-hosting is powerful, but it isn't a silver bullet. Monitoring your own monitoring system comes with trade-offs, and for many teams the **managed SaaS** is still the smarter choice: + +* **"Who Monitors the Monitor?":** If your self-hosted openstatus instance runs on the same infrastructure or cloud provider as your main apps, an outage in your primary region can take down your status page too. The managed SaaS provides true out-of-band monitoring. +* **Global Edge Network:** Checking availability from a single self-hosted network won't tell you if users in Tokyo, London, or São Paulo are hitting localized routing issues. The managed SaaS gives you instant access to global checking locations. +* **Zero Maintenance Overhead:** Running self-hosted infrastructure means managing PostgreSQL databases, maintaining location runtimes, applying security patches, and scaling telemetry pipelines. The managed SaaS handles all of that for you. + +## The Verdict + +Whether you prefer the simplicity of openstatus's managed SaaS or the control of a self-hosted instance, the barrier to entry has never been lower. Self-hosting is no longer an afterthought — it's a fully featured, reliable way to keep tabs on your stack. + +Give the updated self-hosting guide a spin and let the team know how it works for your setup! + +Don't forget to join the [community](https://www.openstatus.dev/discord) if you run into issues! And you can check out my work at [GitHub](https://github.com/zapteryx) :) diff --git a/apps/web/src/data/author.ts b/apps/web/src/data/author.ts index 1de549f6..b1af8a0c 100644 --- a/apps/web/src/data/author.ts +++ b/apps/web/src/data/author.ts @@ -15,6 +15,10 @@ export const author = { name: "Colin Ozanne", url: "https://finxol.eu", }, + "Max Lim": { + name: "Max Lim", + url: "https://github.com/zapteryx", + }, } as const; export function getAuthor(name: string) { -- 2.51.2