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

# Deployment

> Docker Compose, Kubernetes, and AWS options

Coco ships with three ready-made deployment paths. The enterprise artifact is `api + postgres`; the Next.js app is optional.

<CardGroup cols={3}>
  <Card title="Docker Compose" icon="docker">
    `./scripts/compose-local.sh` — Postgres + API + app on your laptop.
  </Card>

  <Card title="Kubernetes" icon="dharmachakra">
    `./scripts/k8s-local.sh` — kind + Helm chart for a cluster smoke test.
  </Card>

  <Card title="AWS" icon="aws">
    Terraform + reference architectures in `infra/`.
  </Card>
</CardGroup>

## Migrations

```bash theme={null}
pnpm db:migrate
```

Idempotent, ordered SQL in `packages/db/drizzle/`.

## Secrets at rest

Webhook secrets, connector credentials, and model keys are encrypted with `COCO_SETTINGS_ENCRYPTION_KEY` — 32 bytes, base64-encoded:

```bash theme={null}
openssl rand -base64 32
```

<Warning>
  Without `COCO_SETTINGS_ENCRYPTION_KEY`, creating or rotating a webhook signing secret returns `503`. Same posture applies to connector credentials.
</Warning>
