Self-hosted preview deploys

Run preview deploys on your own server.

Relay gives teams branch previews, streamed build logs, rollback-ready releases, and framework-aware deploys on infrastructure they already control.

Next.jsViteAstroSprint UIReactGoRustPython
Delta sync

Relay uploads only what changed before the build starts, so second deploys stay close to edit speed.

Rollback-ready

Every rollout keeps the previous image nearby, so promotion and recovery use the same deploy path.

Host-owned

You keep Docker, networks, preview routing, and secrets on infrastructure you already control.

Relay deploypreview ready
`relay deploy --stream`
You can see each step from changed files to the running preview.
commit
c8d2f0a
duration
24s
transport
delta sync
Live deploy log
Build, rollout, and preview status stay in one stream.
OKsynced 19 changed files
OKselected buildpack: node-next
OKnpm run build completed
LIVEpreview.relay.example / main
Review lane
main -> preview
Signed webhooks and local CLI deploys converge on the same rollout path.
reviewers
ALMRKTDV
4 active
Promotion reuses the same built image, and the previous image stays ready for rollback.
0+Runtimes supported
0sAvg build stream
0%Infrastructure yours
Deploy flow

From repo change to running preview.

Relay detects the app shape, builds the image, starts the next container, and keeps logs, routing, and rollback tied to the same deploy record.

See the full architecture
01
Detect the project

Relay reads framework signals and build hints before it decides how the app should build.

02
Build the image

Changed files sync first, then the agent builds with the selected runtime plan and streams logs.

03
Run the preview

The new image replaces the running container and gets a preview URL with the old image kept for rollback.

relay — bash
Command loop
Run previews, stream logs, and roll back from one CLI.
$relay init --url https://deploy.example.com --app relay-site
$relay deploy --stream
$relay logs rel_01HZX --stream
$relay rollback --app relay-site --env preview
Framework-aware builds

Built-in support covers common app shapes, and Relay still leaves room for narrower plugin-driven runtimes when needed.

Project services

Databases and caches can ride alongside the app through relay.json, with connection URLs injected into the container.

Preview routing

Run direct host-port previews locally or let Relay route hostnames when your base domain and dashboard host are configured.

Operational history

Deploy status, image history, preview URLs, and rollback targets stay attached to the same app and branch record.

Run it yourself

Run branch previews without outsourcing deploys.

Relay is for teams that want branch previews, streamed deploy logs, framework-aware builds, and direct control over the hosts they already run.