> ## Documentation Index
> Fetch the complete documentation index at: https://unkey.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Build, deploy, and serve your applications on Unkey infrastructure. Learn about the deployment pipeline, regions, and rollback options.

<Info>
  Unkey Deploy is in public beta. To try it, open the product switcher in the
  top-left of the dashboard and select **Deploy**. During beta, deployed
  resources are free. We're eager for feedback, so let us know what you think
  on [Discord](https://unkey.com/discord), [X](https://x.com/unkeydev), or
  email [support@unkey.com](mailto:support@unkey.com).
</Info>

Unkey Deploy takes a Dockerfile and gives you a running application with automatic domains, multi-region routing, rollbacks, and built-in API security through [Sentinel](/platform/sentinel/overview).

## What you get

<CardGroup cols={2}>
  <Card title="Automatic domains" icon="globe">
    Every deployment gets its own URL. Branch, environment, and commit-level domains are assigned automatically.
  </Card>

  <Card title="Multi-region" icon="earth-americas">
    Deploy to multiple [regions](/build-and-deploy/regions) and route traffic to the nearest healthy location.
  </Card>

  <Card title="Instant rollbacks" icon="clock-rotate-left">
    Previous deployments stay running so [rollbacks](/build-and-deploy/rollbacks) are instant. No rebuild required.
  </Card>

  <Card title="Sentinel" icon="shield-halved">
    API key authentication, rate limiting, and IP rules run in front of your app before requests reach it.
  </Card>

  <Card title="Build logs" icon="terminal">
    Stream build and runtime logs in real time from the dashboard.
  </Card>

  <Card title="Preview environments" icon="code-branch">
    Every branch gets its own isolated [environment](/environments/overview) with separate variables and domains.
  </Card>
</CardGroup>

## Requirements

* A **Dockerfile** in your repository. Unkey does not auto-detect runtimes or use buildpacks.
* A **GitHub repository** for automatic deployments, or a pre-built Docker image for CLI deploys.

## Get started

The fastest path is connecting a GitHub repository:

1. Create a [project](/platform/projects/overview) in your workspace.
2. Click **Import from GitHub** and select your repository.
3. Review build settings (root directory, Dockerfile path, watch paths).
4. Click **Deploy**.

Unkey builds your image, deploys it to your configured regions, and assigns domains. See [GitHub integration](/build-and-deploy/github) for the full walkthrough with screenshots.

<Frame caption="Deployment in progress after connecting a repository">
  <img src="https://mintcdn.com/unkey/x4OlsjqEyio8akfR/build-and-deploy/github-deploying-light.png?fit=max&auto=format&n=x4OlsjqEyio8akfR&q=85&s=ae038df540be04f528322ed71ba1cd98" alt="Deployment progress" className="block dark:hidden" width="2006" height="2116" data-path="build-and-deploy/github-deploying-light.png" />

  <img src="https://mintcdn.com/unkey/x4OlsjqEyio8akfR/build-and-deploy/github-deploying-dark.png?fit=max&auto=format&n=x4OlsjqEyio8akfR&q=85&s=926d2e96c3e625d4d2fec89926be997b" alt="Deployment progress" className="hidden dark:block" width="2006" height="2116" data-path="build-and-deploy/github-deploying-dark.png" />
</Frame>

## Three ways to deploy

<CardGroup cols={3}>
  <Card title="GitHub push" icon="github" href="/build-and-deploy/github">
    Connect a repository and deploy automatically on every push. Default branch goes to production, other branches go to preview.
  </Card>

  <Card title="CLI" icon="terminal" href="/build-and-deploy/cli">
    Deploy a pre-built Docker image with `unkey deploy`. Useful for CI/CD pipelines and custom build systems.
  </Card>

  <Card title="Dashboard" icon="browser" href="/build-and-deploy/github#deploy-from-a-fork-manually">
    Trigger a deployment manually from a branch, commit, pull request URL, or [fork](/build-and-deploy/github#deploy-from-a-fork-manually).
  </Card>
</CardGroup>

<Frame caption="Create a deployment from the dashboard">
  <img src="https://mintcdn.com/unkey/x4OlsjqEyio8akfR/build-and-deploy/deploy-trigger-light.png?fit=max&auto=format&n=x4OlsjqEyio8akfR&q=85&s=612786337f55f3fe053111d88a76aec0" alt="Create deployment dialog" className="block dark:hidden" width="1260" height="1324" data-path="build-and-deploy/deploy-trigger-light.png" />

  <img src="https://mintcdn.com/unkey/x4OlsjqEyio8akfR/build-and-deploy/deploy-trigger-dark.png?fit=max&auto=format&n=x4OlsjqEyio8akfR&q=85&s=79ec432040507384ad614939e8cb180b" alt="Create deployment dialog" className="hidden dark:block" width="1258" height="1322" data-path="build-and-deploy/deploy-trigger-dark.png" />
</Frame>

## Next steps

<CardGroup cols={2}>
  <Card title="GitHub integration" icon="github" href="/build-and-deploy/github">
    Full setup walkthrough with screenshots
  </Card>

  <Card title="Deploy with the CLI" icon="terminal" href="/build-and-deploy/cli">
    Ship pre-built Docker images from CI or your machine
  </Card>

  <Card title="CLI vs GitHub integration" icon="code-compare" href="/build-and-deploy/cli-vs-github">
    Pick the right path for your team
  </Card>

  <Card title="Deployment lifecycle" icon="arrows-spin" href="/build-and-deploy/deployments">
    How deployments progress from build to serving traffic
  </Card>

  <Card title="Regions" icon="earth-americas" href="/build-and-deploy/regions">
    Configure where your app runs
  </Card>

  <Card title="App settings" icon="gear" href="/platform/apps/settings">
    Build, runtime, and Sentinel configuration
  </Card>
</CardGroup>
