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
create-redop-app --transport http --deploy unkey, the starter already generated:
- a production
Dockerfile(compiled Bun binary) - a listener on
PORT(default8080) withhealth: true - README deploy commands for GitHub and
unkey deploy
Unkey fit
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