OwnMediaHostDocs
Monitoring

Better Stack setup

An independent status page that does not depend on your media server.

Set up external monitoring

Use Better Stack to check OwnMediaHost from outside your VPS and publish an independent status page. This integration is optional.

1. Create a monitor

Create an uptime monitor at Better Stack. Set the target to your backend-facing health URL. The supplied setup guide uses a 3-minute interval; confirm available intervals and current plan limits in your account.

TopologyMonitor targetDashboard
Unified domainhttps://media.yourdomain.com/healthhttps://media.yourdomain.com
Split domainshttps://api.yourdomain.com/healthhttps://media.yourdomain.com
Always monitor /health, not /. The static frontend can return HTTP 200 while the backend is stopped. If Caddy is still available but Axum is stopped, the proxy typically returns 502; a VPS or network outage may instead cause a timeout or connection failure.

2. Create your public status page

In Better Stack, create a status page, attach your monitor, choose the dark theme, and configure status.yourdomain.com as the custom domain. Use the exact DNS target shown by Better Stack. The supplied guide specifies the following target:

TypeNameTarget
CNAMEstatusstatuspage.betteruptime.com

Use DNS-only mode in Cloudflare during initial certificate setup. Verify current custom-domain availability and pricing in Better Stack before relying on a free plan.

3. Connect OwnMediaHost

Run the connection utility on your VPS:

bash
sudo bash /opt/ownmediahost/scripts/connect-status.sh "https://status.yourdomain.com"

According to the supplied guide, this updates /etc/ownmediahost/ownmediahost.env, synchronizes database settings, configures origins, and links the dashboard sidebar badge to the status page.

What incident timing means

A polling monitor records detected failures and recoveries. With checks every 3 minutes, it cannot guarantee the exact second an outage actually began or ended. A short outage between checks may be missed. Detection and notification delays also depend on retries, confirmation rules, and alert settings.

Second-resolution timestamps describe recorded observations, not second-accurate continuous measurement. Incident reports and post-mortems depend on your configuration and plan; do not assume a full root-cause analysis is generated automatically.

Validate application health

The supplied API document describes status: "degraded" when a database check fails but does not establish its HTTP status. Configure response-content checks for operational, or additionally monitor /health/ready, documented to return HTTP 500 when the database is unavailable.

Dashboard integration

After connection, the sidebar badge links to your external status page. Configure it in Settings → Status & Topology. The supplied integration also describes forwarding /status/ visitors to the configured status URL. Verify that redirect in your installed release.

Open the OwnMediaHost-status repository

Based on the supplied platform and API documentation. View project source ↗