Push to deploy.
Connect a GitHub repo once. Every push to your branch triggers a build and restart, with no webhook for you to configure.
What happens on every push.
A commit lands on your connected branch.
Your Dockerfile runs, or we detect the framework and build it.
Container restarts, and GitHub sees the result on your commit.
A Dockerfile in your repo is used as-is. Without one, we detect Next.js, Vite, Create React App, plain Node, PHP, or a static site, and build it for you.
A push to your connected branch triggers a rebuild and restart right away. No polling, no manual redeploy button to remember.
Pending, success, and failure are posted directly to the commit, so your team sees deploy status without leaving GitHub.
Roll back to any previous successful deploy. It rebuilds your app at that commit; database and environment variables are not reverted.
Bring a Dockerfile, or let us find the build.
A Dockerfile in your repo is used as-is. Without one, we detect the frameworks below directly; anything else runs the same way once it has its own Dockerfile.
Access comes through a GitHub App installed on your account. Every deploy mints a short-lived, installation-scoped token instead of storing a long-lived credential.
Actual stdout and stderr from your live container, refreshed every few seconds. Not a build stream, the container itself.
Already have a repo ready to connect?
Point us at it and we'll walk through the setup, whether it's a fresh clone or a straight migration from your current host.