Unkey Deploy is currently in private beta. To get access, reach out on
Discord or email
support@unkey.com.
Most settings take effect on the next deployment. After saving changes, trigger a new deployment to apply them.
Build settings
Build settings determine how Unkey turns your source code into a container image.GitHub repository
Connect a GitHub repository to trigger automatic deployments on push events. Pushes to the default branch deploy to production, and pushes to other branches deploy to preview environments. See GitHub integration for details.Root directory
The build context directory whereCOPY and ADD commands in your Dockerfile are relative to. Defaults to the repository root (.).
Set this when your Dockerfile lives in a subdirectory, for example services/api.
Dockerfile
The path to the Dockerfile used for building your application. Unkey auto-detects Dockerfiles in your build context. If your Dockerfile has a non-standard name or location, select it from the dropdown or enter a custom path. Defaults toDockerfile in the root directory.
Watch paths
Glob patterns that control which file changes trigger a deployment. When configured, Unkey skips deployments if none of the changed files match any pattern. Leave empty to deploy on all changes. Examples:src/**deploys only when files in thesrcdirectory change**/*.godeploys only when Go files change
Runtime settings
Runtime settings control the resources and behavior of your running instances.Regions
Geographic regions where your app runs. You must select at least one region. Traffic routes to the nearest healthy region automatically. See Regions for the full list of available regions. Production and preview environments can have different region configurations.Instances
The number of instances running in each region. Defaults to 1.During the beta, the maximum is 4 instances per region. Contact support@unkey.com if you need more.
Autoscaling
Autoscaling is not yet available in the dashboard. Contact support@unkey.com to configure autoscaling for your app.
| Setting | Description |
|---|---|
| Minimum replicas | The fewest instances to keep running, even under zero load |
| Maximum replicas | The most instances to scale to under peak load |
| CPU threshold | Target CPU utilization percentage that triggers scaling (0-100) |
| Memory threshold | Target memory utilization percentage that triggers scaling (0-100) |
| RPS threshold | Target requests-per-second percentage that triggers scaling (0-100) |
CPU
CPU allocation for each instance. Available options:| Option | Millicores |
|---|---|
| 1/4 vCPU | 256 |
| 1/2 vCPU | 512 |
| 1 vCPU | 1,024 |
| 2 vCPU | 2,048 |
During the beta, the maximum is 2 vCPU. Contact support@unkey.com if you need more.
Memory
Memory allocation for each instance. Available options:- 256 MiB (default)
- 512 MiB
- 1 GiB
- 2 GiB
- 4 GiB
During the beta, the maximum is 4 GiB. Contact support@unkey.com if you need more.
Port
The port your application listens on. Defaults to 8080. Must be between 1 and 65,535.Command
The command to start your application. This overrides the defaultCMD in your Dockerfile. Leave empty to use your image’s default command.
Arguments are split on whitespace. Example: npm start.
Shutdown signal
The signal Unkey sends to your application when stopping an instance during deployments or scale-down. Defaults toSIGTERM.
Supported signals:
SIGTERM(default)SIGINTSIGQUITSIGKILL
SIGKILL.
The shutdown signal is not yet configurable in the dashboard. Contact support@unkey.com to change it from the default
SIGTERM.Health check
An endpoint Unkey uses to verify your instances are healthy. When configured, Unkey sends periodic HTTP requests to the specified path and uses the response to determine instance health.| Setting | Description | Default |
|---|---|---|
| Method | GET or POST | GET |
| Path | The endpoint path (must start with /) | - |
| Interval | How often to check (for example, 30s, 2m, 1h) | - |
| Timeout | How long to wait for a response before marking the check failed | 5s |
| Failure threshold | Consecutive failures before marking the instance unhealthy | 3 |
| Initial delay | Time to wait after instance start before the first check | 0s |
2xx status code to pass. After the failure threshold is reached, Unkey marks the instance as unhealthy and stops routing traffic to it.
Health checks are optional. If you don’t configure one, Unkey relies on process-level health monitoring.
Timeout, failure threshold, and initial delay are not yet configurable in the dashboard. Contact support@unkey.com to adjust these values.
Sentinel settings
Sentinel settings control how the Sentinel processes requests before they reach your app.Keyspaces
Select one or more keyspaces to enforce API key authentication. When configured, the Sentinel verifies API keys against the selected keyspaces before requests reach your application. Requests with missing or invalid keys receive a401 response.
See API key authentication for details on how verification works and what your application receives via the Principal header.
Policy configuration
Each Sentinel policy has these fields:| Field | Description |
|---|---|
| Name | Human-readable label for identification |
| Enabled | Toggle to disable the policy without removing its configuration |
Environment variables
Encrypted key-value pairs injected into your instances at runtime. Variables are scoped to a specific environment, so production and preview can have different values. Each variable has a visibility type:| Type | Description |
|---|---|
| Recoverable | The value can be read back from the dashboard after saving |
| Write-only | The value is hidden after saving and cannot be retrieved from the dashboard |
.env file. See Variables for details.
Networking settings
Custom domains
Serve your deployment from your own domain name. Each custom domain is scoped to an environment and requires DNS verification before it becomes active. See Custom domains for setup instructions, including DNS record configuration and verification.OpenAPI spec path
The server path where your application serves its OpenAPI specification (for example,/openapi.yaml or /api/spec.json). When set, Unkey fetches the spec from your running deployment for use with OpenAPI validation and API documentation.
Maximum length is 512 characters. Leave empty to disable spec discovery.
App-level settings
These settings apply to the app itself, not to a specific environment.Default branch
The Git branch that maps to the production environment. Defaults tomain. Unkey updates this automatically when you connect a GitHub repository.
Pushes to the default branch trigger production deployments. Pushes to any other branch trigger preview deployments.
Delete protection
When enabled, prevents the app from being deleted. You must disable delete protection before you can delete the app.Delete protection is not yet configurable in the dashboard. Contact support@unkey.com to enable it.

