Unkey Deploy is currently in private beta. This guide assumes you already have access to Unkey Deploy in your workspace.
Before you start
This guide assumes:- your server uses the HTTP transport
- the app binds
0.0.0.0 - the app reads
PORTfromprocess.env.PORT - your repository includes a
Dockerfile
Unkey fit
| Item | Value |
|---|---|
| Recommended transport | http |
| App shape | long-running Bun service from a Docker image |
| Deploy trigger | GitHub push, CLI, or dashboard |
| Required files | Dockerfile |
| Runtime port | Unkey injects PORT and defaults it to 8080 |
| Environment model | default branch deploys to production, other branches deploy to preview |
create-redop-app preset | none today |
| Recommended for | teams with Unkey Deploy beta access that want Docker deploys plus preview environments and Sentinel |
Example listener shape
Use a listener like this so the same app works locally and on Unkey:Example Dockerfile
Unkey Deploy expects a Dockerfile. Use a compiled production image so Unkey runs a single built executable:Deploy steps
- Push your Redop project to GitHub.
- In Unkey, create a new project and choose your repository.
-
Review the build settings:
- set the root directory if your Redop app is inside a monorepo
- point Unkey at the correct
Dockerfile - add watch paths if you only want specific folders to trigger deploys
-
Review the runtime settings:
- keep the port aligned with your app listener
- leave the command empty if you want to use the Dockerfile
CMD - configure a health check path only if you enabled one in Redop
- Add environment variables in the Environment Variables tab.
- Click Deploy.
- the default branch maps to production
- other branches map to preview
- each environment gets its own generated domain
- production and preview can use different variables, regions, and Sentinel settings
Variables and redeploys
Use Unkey environment variables for secrets and environment-specific configuration such as database URLs, API keys, and feature flags. Keep in mind:- variables are scoped per environment
- keep preview and production values separate
- after changing variables, trigger a new deployment if you want the new values applied immediately
Verify the deployment
Use the generated Unkey production or preview URL from the dashboard:- the deployment URL answers over HTTPS
/mcpreturns a valid JSON-RPC initialize response- the response includes
serverInfofrom your Redop app