Self-hosted uptime monitoring · MIT licensed
Stay uptimistic.
Self-hosted uptime monitoring that runs on the hosting you already have. PHP, MySQL and one cron line. No Docker, no extra server.
The problem
The worst monitoring system is your client’s phone call.
- Checkout has been throwing 500s since 02:10. Nobody knew.
- Phone rings. “Is the shop down? We had zero orders overnight.”
- You, in pyjamas: “Checking now.”
SaaS monitors charge per monitor, and you have forty. A spare VPS is one more thing to patch. So the forty sites go unwatched, until the phone does it for you.
How it works
Three steps, no terminal
- 01
Upload and install
Unzip it on your hosting and open it in the browser. The installer checks PHP and its extensions, and tells you which box to tick in your hosting panel.
- 02
Add monitors
Paste a URL, pick what to check, and test it before you save. Group monitors into projects, one per site or client.
- 03
Sleep well
Quiet while everything is fine. When something isn’t, you hear about it by push, email, Pushover or ntfy, before the client calls.
The only server setup:* * * * * php /home/you/uptimistic/artisan schedule:run
Watch the site, the app and the server it sits on.
Nine kinds of monitor
- 01HTTP(S)Status codes, redirects, timeouts and response time.
- 02KeywordThe page renders what it should, not just a 200.
- 03JSONAssert any field in an API response.
- 04TCP portMySQL, Redis, SMTP: is it open and answering?
- 05SSL expiryKnow well before the certificate runs out.
- 06HeartbeatYour cron job pings in. Silence raises the alert.
- 07App reportWhat a Laravel or CS-Cart app runs on: versions, updates, known vulnerabilities.
- 08Security scanExposed .env and .git, debug tools left on, missing security headers.
- 09HostingDisk and quota on a cPanel account, and what is about to expire.
Incidents with a story
Detected, confirmed after repeated failures, alerted, acknowledged, resolved. Every step has a timestamp, so the morning after needs no guesswork.
- detected · 500 from checkout
- confirmed after 3 failures
- alert sent · push, email
- acknowledged · from iPhone
- back up after 9m
Alerts that reach you
Email, Pushover with emergency priority, ntfy, signed webhooks and push to the apps. Route them per project and per monitor.
Public status pages
One per project, on your own domain, with 90 days of history, incident notes and maintenance notices. Tell them before they ask.
Updates from the browser
Every release is signed and verified before it is applied. No SSH needed, and nothing to rebuild.
Runs where you are
It runs on the hosting you already pay for.
- Shared hostingMade for itcPanel, Plesk, DirectAdmin and the like. A web installer and one cron line, done.
- Any VPSNginx or Apache with PHP-FPM. Let Supervisor run the queue workers, or keep the single cron line.
Requirements, the whole list
- PHP
- 8.4.1 or newer
- Extensions
- curl, intl, mbstring, openssl, pdo_mysql
- Database
- MySQL or MariaDB
- Scheduler
- one cron line, every minute
- Disk
- about 40 MB, plus check history
no Node · no Redis · no Docker · no root
In your pocket and your menu bar.
Native apps · coming soon
Pair an app with your instance from the dashboard, and the mark in your menu bar tells you how things are before you click. Until the apps reach the stores, alerts arrive by email, Pushover, ntfy or webhook.
- iPhone and iPad soon
- Mac soon
- Apple Watch soon
- Apple TV soon
- Windows soon
Get Uptimistic
Download, upload, done.
Version 0.9.1 is an early release: complete enough to watch real sites, with rough edges left before 1.0. New versions show up in the dashboard and install from the browser.
Download 0.9.1uptimistic-0.9.1.zip · 11.4 MB · released 2026-11-08
sha256 checksum
- Upload and unzipPut the zip on your hosting, extract it, and point a domain or subdomain at its
publicfolder. - Open it in the browserThe installer checks the requirements, connects the database and creates your account.
- Add the cron lineOne line, every minute. The installer shows the exact command for your server.
Open source · MIT
Read every line that watches your sites.
Laravel and plain, unobfuscated PHP. No telemetry, no licence server, no account to create. The only call home is an anonymous daily update check, and you can switch it off.
The app’s public repository is on its way. The companion packages that report what your apps run on are on GitHub already.
Built by Isti
I built this because my phone rang one too many times.
I’m István, a full-stack engineer in Budapest. I run forty-odd client sites on ordinary hosting, and I care about the boring parts. Monitoring is the most boring part, and the one that saves you.
isti.huQuestions
Will my shared host let it run every minute?
Most shared hosts allow a per-minute cron job, and that one line is all Uptimistic needs. Each minute it starts short-lived workers that run the due checks side by side and stop before the next minute, so nothing long-running sits on your account.
How much history does it keep?
14 days of raw check results by default, and you can change that. Daily rollups stay after the raw rows are pruned, so 30 and 90-day uptime remains on record while the database stays small.
Is it safe to self-host?
Sign-in supports two-factor authentication, every paired device gets its own token, and webhooks are signed. Release zips carry an Ed25519 signature that the updater verifies before it touches your install.
How do push notifications reach my phone?
Through a small relay at relay.uptimistic.app that passes alerts on to Apple, Google and Microsoft. Your instance contacts it only after you pair an app, and the relay never stores alert content. If it is unreachable, the apps still pick alerts up from your instance.
Does it phone home?
Once a day it fetches a static release file to see whether there is an update. That request sends nothing about your instance, and you can switch it off in the settings. There is no telemetry, no licence server and no central account.
What does it cost?
Nothing. The Community Edition is the complete monitor for one team, free under the MIT licence. An Enterprise Edition with agency features such as client workspaces and white-label is planned.