Peekaping, an open source self hosted uptime monitoring system that watches your websites, APIs and services, records heartbeat history and uptime statistics, and publishes status pages.
Peekaping is a free, open source uptime and status monitoring system built with a Go API and a modern React interface. It checks websites, APIs, TCP ports, DNS records, containers and databases on a schedule you choose, records a heartbeat history for every check, calculates uptime over 24 hours, 7 days, 30 days and a year, and charts response time so you can see a service degrading before it fails. Public status pages let your users check service health for themselves, and notification channels raise alerts the moment a check goes down. It supports many monitor types beyond plain HTTP, including keyword and JSON query checks, ICMP ping, DNS, push monitors for external jobs, Docker containers, gRPC, SNMP, and direct checks against MySQL, PostgreSQL, SQL Server, MongoDB and Redis, as well as MQTT, RabbitMQ and Kafka. It suits any team that wants its own monitoring, owned and hosted in its own cloud account rather than paid for per check on a hosted service.
The cloudimg image runs Peekaping with a bundled PostgreSQL and Redis under one systemd managed stack, every container pinned by image digest rather than a floating tag. A unique administrator password, database password and cache password are generated on the first boot of every VM, and Peekaping mints fresh session signing keys into a brand new database, so no secret is ever shared between instances. Self registration is closed on first boot and the image verifies it, so nobody can claim the administrator account on your instance. Only SSH and the web interface listen on the network: the API and web interface are bound to the loopback interface behind nginx, and the database and cache are never published to a host port. Ships fully patched with a paired deployment guide and 24/7 cloudimg support.
Real screenshots taken while testing this image against its deployment guide.