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

# Self-hosting overview

> Run Cadence on your own server.

Cadence is open source. You can run the whole product on a machine you control, with your own database and your own model accounts. No hosted vendor is required for the core product.

## What runs

A Cadence server is a small set of long-running services:

| Service | What it does |
| - | - |
| **API** | Serves the app and the [API](https://docs.usecadence.gg/api/introduction.md), owns sign-in and every rule about who can do what. |
| **Worker** | Runs bots, routines and other background jobs. |
| **Web** | Serves the web app. |
| **Postgres** | Stores everything. Each space's rows are protected by row-level security. |
| **Caddy** | Handles HTTPS on a public server. |
| **Computers** | Where bots run commands and a browser. Local Docker containers, or a remote provider. |

It is not a static site. The marketing site is separate and is not needed to run the product.

## Pick a layout

> [card] [Public server](https://docs.usecadence.gg/self-hosting/docker-compose.md)
>
> One VM, Docker Compose, automatic HTTPS. The usual choice for a business.

> [card] [Configuration](https://docs.usecadence.gg/self-hosting/configuration.md)
>
> The settings you must set, and the optional ones that turn on channels, email and more.

For a local trial from a source checkout, copy `.env.example` to `.env`, run `pnpm sandbox:build`, then `pnpm dev`, and open the address it prints (`http://127.0.0.1:5173` by default).

## Where bot computers run

| Provider | `SANDBOX_PROVIDER` | Notes |
| - | - | - |
| Docker on the same machine | `docker` | The default. Bots share a team computer unless you give one its own. |
| E2B | `e2b` | Computers run away from your server. The production Compose file defaults to this. |
| Daytona | `daytona` | Remote computers through Daytona. |
| CreateOS | `createos` | Remote Linux desktops through CreateOS. |
| Boat | `boat` | Managed Linux desktops. Each bot keeps its own Chrome profile. |
| None | `none` | Starts the product without computers. |

Each remote provider needs its own API key. See [Computers](https://docs.usecadence.gg/work/computers.md) for what bots do with them.

## Security basics

* Signing up never grants server administration. Server settings live in the server's environment, not in the app.
* Keep sign-ups limited with `SIGNUP_ALLOWLIST` while the server is private.
* Keep `ENCRYPTION_KEY` safe and unchanged. Stored credentials cannot be read without it.
* Do not expose Postgres or the computer supervisor to the internet. The included Compose files keep them on internal networks.

The full operator guide, with backups, restores, upgrades and hardening, is in `docs/self-host.md` in the repository.


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