Git push to deploy — the whole pipeline, built in
Connect GitHub, GitLab or Bitbucket and every push to your production branch builds and ships automatically. PR previews, live build logs, webhooks and rollbacks come with it — no CI service to configure, nothing metered per build minute.
From push to production
This is exactly what happens when you push — you can watch every step live from the dashboard.
Connect a repo
Authorise GitHub, GitLab or Bitbucket, choose the repository and branch. We register the push webhook for you.
Push
Push to your deploy branch. The webhook fires, the deploy is queued, and the build starts in your own container.
Build, live-logged
Dependencies install and your framework builds — Node 18, 20 or 22, Bun, or your Dockerfile — with the log streamed to your browser.
Release
The new build replaces the running version, ScaleShield and TLS stay in front, and your deploy webhooks fire.
PR preview environments
Open a pull request and that branch gets its own temporary environment on its own URL. Review real behaviour — not screenshots — before you merge.
Previews sleep & wake
Idle preview environments are paused automatically so they cost you nothing in resources. The next request wakes them in place. Closed PRs are cleaned up.
Rollback via redeploy
Bad release? Redeploy any previous commit from your deploy history. Because every deploy maps to a commit, "what is live" is never a mystery.
Live build logs (SSE)
Build output streams into the dashboard in real time over server-sent events. Debug a failing build from the full stdout/stderr, not a truncated summary.
Deploy webhooks
Post deploy events to Slack, Discord or any custom endpoint. Your team channel sees the commit, the app and the outcome the moment it ships.
Manual & queued deploys
Trigger a deploy of any commit by hand from the dashboard. Deploys queue and run in order, so two pushes in quick succession never race each other.
Your stack, your build
Fourteen framework presets cover the common cases — Next.js, Astro, Nuxt, SvelteKit, Remix, Vite apps, Bun, static sites, Strapi, Medusa and Payload. Anything else ships from a Dockerfile in your repo.
- Node 18, 20 or 22 — pick the runtime per app; Bun is available as its own runtime.
- Custom Docker — bring your own Dockerfile for full control of the image, from Laravel to Rust.
- Environment variables — set per app (and per preview) in the dashboard, injected at deploy time. Secrets never live in your repo.
- Cron jobs — schedule recurring commands in your container, managed alongside your deploys. See everything included.
Each preview gets its own URL and its own environment variables.
Review the branch, not the diff
Every pull request builds into its own environment, so reviewers click a URL and use the actual feature. Because idle previews sleep, you can keep a dozen open PRs around without them consuming your plan's resources — they wake in place when someone visits.
- One preview environment per open pull request, on its own URL
- Sleep when idle, wake on request — previews never eat production resources
- Removed automatically when the PR closes
- Available on Pro and Agency plans
Deploying WordPress or PHP instead? Those sites get site cloning rather than PR previews.
Deployment FAQ
Which git providers can I connect?
GitHub, GitLab and Bitbucket. You authorise the repository from the dashboard, pick the branch to deploy from, and we register the webhook for you — every push to that branch triggers a build.
Can I deploy without pushing to git?
Yes. You can trigger a redeploy of any commit from the dashboard at any time — that is also how rollbacks work. Deploys can be queued, and the deploy scheduler runs them in order.
How do rollbacks work?
Every deploy is tied to a git commit, so rolling back means redeploying a previous commit from your deploy history. There is no separate snapshot system to learn — your git history is the source of truth.
What happens to PR preview environments when I stop using them?
Idle previews are put to sleep automatically so they do not consume your plan resources. The next request wakes the container back up. When the pull request is closed, the preview environment is removed.
Can my team get notified about deploys?
Yes — deploy webhooks post build and deploy events to Slack, Discord or any custom HTTPS endpoint, including the commit and outcome, so your team channel always knows what shipped.
Ship on every push
Fixed monthly pricing, unmetered builds, and a pipeline you never have to maintain. See performance and security for the rest of the platform.