← Blog

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 StillOnlineFree 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.

LayerMonitor?Notes
Web service default *.ondigitalocean.app or your domainYesPrimary production check
/health or /api/healthYesLightweight liveness, no auth on this path
Managed DB addonUsually no separate checkStillOnline probes HTTP, not DB sockets — optional DB ping inside /health
Worker componentOnly if it has a public health URLInternal 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:

ProblemSolution
Health hits managed DB on every requestNoisy during migrations — use lightweight liveness
Worker has no public URLDo not register a fake URL; monitor the web service or add a public worker health route
Deploy blip turns checks redShort outage is expected — post maintenance or wait for recovery alert

Step 2 — Register in StillOnline

  1. Sign in.
  2. New project → product name.
  3. HTTP check → full App Platform HTTPS URL, GET, expect 200, five-minute interval on Free.
  4. 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:

  1. Connect TelegramStillOnline botStart
  2. Enable Telegram alertsTelegram 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.