Skip to content
All projects

Open source · Self-hosted

Pingtxt

Self-hosted, open source uptime monitoring: a single container for hub, database and web UI, lightweight agents to check services from multiple locations, public status pages and an iOS app with push notifications.

Pingtxt dashboard in dark theme with the monitor list, the last-24-hours bar and uptime

Uptime monitoring, in plain text

Pingtxt checks websites, APIs and services and alerts you when something stops responding. It is self-hosted and open source (AGPL-3.0): a single container for hub, database and web UI, which runs on a small VPS even with thousands of monitors. The interface is deliberately minimal, monospaced and terminal-style, in light and dark themes.

Hub and agents

The hub is a single Go binary: API, scheduler, database and an embedded Next.js web UI. Agents are tiny, stateless Go binaries: they install with one command, dial out to the hub over WebSocket (no open ports, they work behind NAT too) and update themselves with verified checksums and signatures. The hub schedules every check and sends it to the agents, so the same check runs from Milan, Frankfurt or a home lab.

Status is decided by majority: a service is down when it fails from most locations, degraded when it fails from only some. The database can be SQLite, PostgreSQL or MySQL.

Check types

HTTP(S) with rules on the JSON response, keyword, TCP, ICMP ping with packet loss, DNS, PostgreSQL, MySQL, Redis, MongoDB, Docker, gRPC, SMTP, heartbeat for cron jobs and backups, MCP servers. TLS certificate and domain expiry, slowness thresholds, IPv4/IPv6 per monitor. When a service goes down, the hub automatically collects diagnostics (DNS, TCP, traceroute) from every location.

Pingtxt public status page with 30 days of service history
A public status page, on your own domain too

Alerts and status pages

Notifications via webhook, Discord, Slack, Telegram, ntfy, email and push, with escalation, maintenance windows, groups and tags. Public status pages with history, incidents and updates, optionally password protected, plus embeddable badges. Prometheus metrics, email reports, audit log, roles and sign-in with 2FA, GitHub, Google or OpenID Connect.

iOS app and companion services

A native SwiftUI iOS app connects to the hub with OAuth and receives alerts as push notifications, with quick actions and Live Activities for ongoing incidents. Push notifications go through a small dedicated relay, so every self-hosted hub can send them without its own keys. Usage statistics are anonymous and opt-in only, collected by a separate service.

For AI tools and agents

The hub exposes an MCP server with OAuth 2.1: an AI assistant can read monitor status, open an incident's diagnostics or pause a check.

Concept, design and end-to-end development, from the backend to the pingtxt.com website. The code is on GitHub.