Verify every deploy
See the version running on each web process and worker. A receipt tells you whether the rollout completed and your configured health checks passed.
For apps deployed with Kamal
Know whether your deploy reached every instance and passed its health checks. Upstate watches production independently, records the result, and keeps watching after you close your laptop.
Early access · No card required · Keep deploying with Kamal
Example Deployment Receipt
Example app / production
a84fd21
2 of 3 instances updated. The job worker on prod-01 is still running the previous version.
job · prod-01
Expected a84fd21 · Observed 7cf310a
Example receipt: a deploy finished, but one worker did not update.
See the version running on each web process and worker. A receipt tells you whether the rollout completed and your configured health checks passed.
Get alerted when an app becomes unavailable, a worker stops, or a server runs low on resources. Upstate keeps checking between deployments.
Use the CLI or read-only MCP tools to ask what happened during a deploy. Your coding agent gets recorded versions, health checks and alerts to work from.
Getting connected
Run the Upstate CLI from your existing Kamal project. It connects your app, sets up deployment reporting, and helps install the observer on your servers.
Review the setup before applying it. Existing hooks are preserved. Dynamic Kamal configuration may need a few explicit values or a generated snippet.
Kamal reports the version you are deploying. The observer checks which versions are actually running on your servers.
Open the receipt in Upstate or run upstate receipt. See which instances updated, whether health checks passed, and anything that needs attention.
Upstate works with Docker apps deployed by Kamal, including Rails, Go and Phoenix. Shared PostgreSQL, Redis and proxy containers are available when you need to investigate a problem.
An optional Rails endpoint checks database connectivity and Solid Queue activity. See jobs waiting and active workers alongside the deployment receipt.
The endpoint reports health and counts, without job arguments or customer data.
Server access
Upstate does not deploy, restart containers, or accept remote shell commands. The agent opens no inbound network listener. Credentials are dedicated and revocable.
The observer needs access to the Docker socket. That access is privileged, even with a read-only mount; install it only on servers you administer.
CPU, memory and disk usage; container status; image versions; health checks; and selected Docker labels.
Environment variables, secrets, application logs, or database contents.
Receipt history is available for seven days on Free and ninety days on Solo.
Start on Free. Your first verified deployment starts a seven-day Solo preview—no card required. After the preview, keep one app on Free or upgrade for more apps and history.
Solo checkout is coming soon. You can use Free and the preview now.
$0 / month
One app · One user · Seven days of receipt history
Deployment Receipts, public HTTP checks, basic alerts, and read-only MCP.
$19 / month
Up to ten apps · Ninety days of receipt history
Everything in Free, with more room for your apps and their history.
Keep your deployment workflow. Add a receipt you can come back to tomorrow.
Get started with UpstateWe can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect