Four endpoint checks share a dashboard with server metrics
CheckCle supports 4 endpoint checks: HTTP, DNS, ping, and TCP, with uptime history and SSL certificate records. Separate agents report CPU, memory, disk, network, and Docker information. Incidents, maintenance windows, alert templates, regional checks, and public status pages put more routine operations in the same interface. The public view can show component health without exposing the admin dashboard.
A bad probe can change status and send an alert, while an agent or historical query may fail independently. The repository we measured contained 1,316 files and about 242,405 source lines. Treat upgrades as operations work even though the quick start is one short Compose file, and budget time for migration checks.
One container starts PocketBase and a Go checking service
The 43 MB checkout includes a root Compose file that exposes port 8090, mounts /opt/pb_data, and runs operacle/checkcle:latest. Its entrypoint starts PocketBase, waits for the health route, then starts the Go network checker. An evaluator gets the main dashboard without manually connecting its internal services, all behind one container lifecycle.
The published first login is admin@example.com with password Admin123456. Replace it before exposing port 8090 and back up the data volume. Notifications need SMTP credentials or service tokens. Server and regional agents add backend URLs and generated secrets, so only the central service fits the one-container description. Keep those secrets outside the Compose file.
What happened when we ran it
Our sandbox installed 497 packages in 123 seconds and left 394 MB on disk. The build succeeded in 28 seconds. npm audit reported 25 known vulnerabilities: 1 critical, 15 high, 6 moderate, and 3 low. The supplied output does not establish exploitability, so each finding needs triage before exposure. The audit result is the main setup warning.
Tests were skipped because commit 250f5bd had no test script or target. The 43 MB checkout had 1,316 files and roughly 242,405 source lines. Our scan found 0 CI workflows, a Dockerfile, and no tests directory. Our measurement setup used an unprivileged Node 22 container with 3 CPUs, 8 GB of RAM, and no secrets; no probes or alerts were exercised.
The retry setting does not prevent single-probe outages
Open issue 231 documents a 10-second probe timeout and matches commit 250f5bd: the service record includes max_retries, but performCheck runs once and derives status from that result. One timeout can mark a service down despite a higher setting. Pull request 232 proposes a retry loop, but it remained open on September 14, 2026. Treat the control as ineffective until a verified fix reaches your deployment.
The current HTTP checker creates a 10-second operation and calls it with GET. Issue 220 asks for custom headers and request bodies because the UI and documentation provide neither. Authenticated API checks, webhooks, or POST workflows need another monitor or custom code. Gatus fits better when those request details belong in reviewed configuration.
Public status pages omit incident and maintenance messages
Version 1.6.0 added Pushover, Gotify, Notifiarr, ntfy token support, and data retention. The source also includes email, Telegram, Discord, Slack, Matrix, Signal, Google Chat, and webhook integrations. Editable templates give alerts more context than a plain up or down flag. Release notes also describe cleanup of old records by configured retention periods.
Open pull request 227 says the public page reflects component health but cannot show an active incident or scheduled maintenance from the admin interface. A customer-facing page should explain planned downtime and current response work. Until that change reaches a tested release, use CheckCle's page as a live health board.
The official combined image is not reproducible from this checkout
The checked-in Dockerfiles compile the React application and serve static files with Nginx. They do not build the combined operacle/checkcle image used by the README. In issue 19, the maintainer says that omission is intentional so users pull official images. This blocks a source-to-image audit and makes latest an uncomfortable production default. Pin a tested artifact and retain a rollback copy.
Source operation extends beyond our 28-second frontend build. The checker is written in Go, the backend uses PocketBase, and the service-operation guide requires Go 1.21 or newer. ICMP on Linux needs root or cap_net_raw. Contributors must assemble pieces that the missing combined-image recipe would normally define. Grant that capability deliberately.
July code activity has not produced a release after v1.6.0
GitHub recorded 3,189 stars, 92 open issues and pull requests, and a last push on July 17, 2026. Issue activity continued on August 31. That activity argues against calling the project abandoned, yet v1.6.0 remains the latest release since September 13, 2025, while the roadmap labels v1.7.0 in progress. No later tag was available.
Open reports cover ignored retries, slow server-history loading, and Docker discovery trouble on an Unraid agent. Our measured commit had 0 CI workflows. A proposal to add a Go workflow closed without merging on August 20, 2026, and the current tree still has no workflow directory. Follow both develop and releases when judging updates.
CheckCle suits broad monitoring on a carefully hardened host
The 497-package install and 25 audit findings make a production trial conditional. Verify the image, replace the published login, test backup recovery, and reproduce alert behavior after one failed probe. If retries or custom API requests are requirements, use another monitor now. Do that before users depend on its notifications.
Uptime Kuma is easier when the job is endpoint availability and public status. Beszel is narrower when host and container history take priority. CheckCle makes sense when one operator needs both views plus incidents and maintenance, and accepts responsibility for PocketBase data, agent tokens, port 8090, and notification credentials. That wider scope adds more failure modes to validate.

