Upstate documentation
Your apps stay on your servers. Upstate brings their health, deployments, and alerts into one place, so you can see what needs attention and why.
Start with your first project
Connect a Kamal project, review the proposed setup, and wait for the first independent host report. You can then watch a deploy all the way from Kamal finishing to Upstate verifying what is running.
Find your next step
| Guide | What you will learn |
|---|---|
| Getting started | Connect an existing Kamal project and check its first report. |
| The host observer | Understand what runs on your server and how to troubleshoot missing reports. |
| Monitoring | Combine runtime reports, HTTP checks, certificates, domains, and scheduled check-ins. |
| App health and Rails | See errors and response time for any Kamal app, and add Rails health with the gem. |
| App health and Phoenix | Add pending migrations and Oban job health to a Phoenix app with the upstate_phoenix plug. |
| Deployment receipts | Read a verdict and distinguish missing evidence from an unhealthy deployment. |
| Alerts and notifications | Choose where alerts go and inspect delivery outcomes. |
| CLI and coding agents | Use local tools and approve read-only access for your coding agent. |
Know what Upstate can prove
A running container is one signal. A successful HTTP check is another. Upstate keeps those signals and their timestamps visible instead of treating missing information as a success.
Upstate does not run backups, restore databases, or operate your hosts. A backup check-in records what your job reported; it does not prove that a restore will work.