> ## Documentation Index
> Fetch the complete documentation index at: https://keel-cloud.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Keel Cloud

> The multi-user, multi-repository Keel: the same engine and UI as keel dev, plus organizations, roles, connected repositories, and push-triggered deploys.

Keel Dev is for one person and one repository. Keel Cloud is what you run
when a team — or a company and its clients — needs to deploy from a browser,
with an audit trail, without anyone installing tools or holding credentials.

It is the same engine and the same UI, served from a server you control,
backed by PostgreSQL, and extended with:

* **Organizations** — a personal one on sign-up, more on demand, each with
  members, roles, and invite links.
* **Roles and scopes** — owners and admins manage; members deploy or
  configure only with the matching scope; everyone else views.
* **Connected repositories** — any git host over HTTPS with an optional
  read token, or a GitHub App with a repository picker.
* **Push-triggered deploys** — targets flagged *auto-deploy on push* run
  when their branch receives a push, if their variables are complete.
* **Runs on the server** — fresh clone per run, Docker on the host, live
  logs over SSE, persisted history, secret masking, per-target concurrency.
* **Email notifications** — your SMTP server, recipients subscribed to the
  events they care about: runs starting, succeeding, or failing (with the
  last log lines), repository, target, and member changes.
* **AI insights** — a plain-language explanation of any failed run from
  the OpenAI-compatible model you configure.

## How it fits together

```mermaid theme={null}
flowchart LR
  subgraph Org["Organization"]
    M[Members] --> R[Repository]
    R --> D[Deployments from keel.yaml]
    D --> T[Targets]
    T --> Runs
  end
  G[GitHub / any git host] -->|clone / webhook| R
  Runs --> Docker[(Docker on the host)]
```

Repositories belong to organizations. Connecting one clones its branch,
reads `keel.yaml`, and lists the deployments it declares. Targets and values
are created against those deployments, exactly as in Keel Dev.

## Getting a Keel Cloud

> [card] [Self-host](https://keel-cloud.mintlify.site/cloud/self-hosting.md)
>
> Docker Compose in a minute for evaluation; a binary or container image behind a TLS proxy for production.

> [card] [Let Keel deploy it](https://keel-cloud.mintlify.site/cloud/deploy-on-google-cloud.md)
>
> Keel's own repository ships a deployment that stands up a production Keel Cloud on a single Google Cloud VM for about \$35 a month.

## Then

> [card] [Organizations and permissions](https://keel-cloud.mintlify.site/cloud/organizations-and-permissions.md)
>
> Who can do what, and how to invite people.

> [card] [Connect repositories](https://keel-cloud.mintlify.site/cloud/connect-repositories.md)
>
> Git URLs, tokens, branches, syncing, and repository status.

> [card] [GitHub App](https://keel-cloud.mintlify.site/cloud/github-app.md)
>
> The repository picker and push-triggered deploys.

> [card] [Runs and security](https://keel-cloud.mintlify.site/cloud/runs-and-security.md)
>
> How runs execute on the host and what the trust boundary is.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.