Uptime monitoring for SaaS on DigitalOcean App Platform
DigitalOcean App Platform deploys from Git, wires HTTPS, and can attach managed Postgres or Redis without you running Kubernetes. The DO control panel shows whether your latest deploy succeeded; it does not prove that a customer in another region can reach your API, and it does not give B2B buyers a stable status link when latency spikes.
StillOnline probes your production health URL from outside DigitalOcean’s network, hosts a status page at stillonline.tech/s/..., and sends owner alerts through the official StillOnline Telegram bot, Slack, or email when checks fail.
Quick answer
DigitalOcean App Platform assigns each app a default *.ondigitalocean.app URL and supports HTTP health checks on your web service. Expose GET /health returning 200 in under two seconds on that production hostname, then register it in StillOnline — Free includes one project, one URL, and checks every five minutes (pricing). Share the hosted status page at stillonline.tech/s/... and connect the StillOnline bot for owner alerts.
What to monitor on App Platform
App Platform bundles web services, workers, and optional database add-ons per DO component docs. StillOnline only sees the URL you register, so point it at the hostname customers and integrators actually call.
| Layer | Monitor? | Notes |
|---|---|---|
Web service default *.ondigitalocean.app or your domain | Yes | Primary production check |
/health or /api/health | Yes | Lightweight liveness, no auth on this path |
| Managed DB addon | Usually no separate check | StillOnline probes HTTP, not DB sockets — optional DB ping inside /health |
| Worker component | Only if it has a public health URL | Internal workers need a heartbeat pattern, not an external GET |
For health route design (liveness vs readiness), see health endpoint design.
Step 1 — Add /health on App Platform
Add a small route in your app that returns 200 when the web process can serve traffic. Keep it fast and skip session cookies on this path only.
curl -sS -o /dev/null -w "%{http_code}\n" https://your-app-abc123.ondigitalocean.app/health
If customers use your own domain (not only *.ondigitalocean.app), curl that hostname — StillOnline should match production DNS, not an internal-only hostname.
Typical mistakes on App Platform:
| Problem | Solution |
|---|---|
| Health hits managed DB on every request | Noisy during migrations — use lightweight liveness |
| Worker has no public URL | Do not register a fake URL; monitor the web service or add a public worker health route |
| Deploy blip turns checks red | Short outage is expected — post maintenance or wait for recovery alert |
Step 2 — Register in StillOnline
- Sign in.
- New project → product name.
- HTTP check → full App Platform HTTPS URL, GET, expect 200, five-minute interval on Free.
- Copy status page
https://stillonline.tech/s/{id}for developer docs — public status page guide.
StillOnline does not deploy to App Platform; it only HTTP-gets the URL you paste.
Step 3 — Owner alerts
App Platform will not DM you when the API is down. In settings:
- Connect Telegram → StillOnline bot → Start
- Enable Telegram alerts — Telegram guide
Free: one owner channel (email, Telegram, or Slack). Pro / Ultimate: all three — pricing.
Related guides
FAQ
Does StillOnline deploy to DigitalOcean App Platform?
No. StillOnline runs scheduled HTTP GET probes from the public internet against URLs you register — separate from App Platform deploy hooks. Your build flow stays unchanged — start with the health check quickstart.
Should I monitor the managed Postgres addon separately in StillOnline?
StillOnline checks HTTP URLs, not database sockets. If Postgres outages should mark the app down, add a lightweight DB ping inside your /health handler — see health endpoint design.
Which App Platform URL should I register in StillOnline?
Use the production web service hostname customers hit, plus /health or /api/health. Skip preview URLs and hostnames that are not reachable from the public internet.