Running the Doctor
A one-click diagnostic pass over a server or app, with a plain-English checklist.
Doctor runs a checklist of real checks over SSH and reports what's healthy and what isn't — no guessing from a red icon alone.
What it checks
Doctor runs 9 checks covering things like: Docker is reachable, the shared edge network exists, the reverse proxy container is running, a route file exists for the app's domain, the app's container is actually reachable from inside the edge network, disk space isn't critically low, and a few more infrastructure-level checks in the same spirit.
Each check reports pass/fail with a short explanation — not just a number.
Where to run it
- Per-app, from the app's Doctor tab — scoped to that app's networking and container health.
- Per-server, for infrastructure-level checks not tied to one specific app.
Reading a failure honestly
A couple of failure modes are worth knowing about rather than being surprised by:
- "Reachable inside the edge network" failing on an adopted app usually isn't a real bug — it means the app's recorded service name is a lazy default that doesn't match what the actual container calls itself, since DeployOS didn't create that container. It self-corrects the moment you deploy that app through DeployOS for real.
- Doctor's checks are currently Traefik-oriented. If your server uses Caddy, a couple of Traefik-specific checks may not apply cleanly yet — treat those as informational rather than a real failure if you know the server is running Caddy and traffic is actually flowing.
If Doctor reports a missing route file after you know you deployed successfully, it's usually the same underlying issue Domains & SSL covers — re-running Bootstrap on that server (see Bootstrapping a Server) re-checks and fixes proxy-config-path mismatches non-destructively.