# Install

Sentinel is self-hosted: it runs on your own infrastructure, and you control the deployment, the database, and the data. Pick the target that matches how you already deploy services.

## Requirements

- A container runtime (Docker, or the equivalent on your chosen platform). Sentinel self-configures with embedded storage on first start — no external database is required to get running.
- For production, a networked **database** instead of the default embedded storage — see [Databases](/docs/sentinel/databases/) for supported engines.
- A **license key** for production use — Sentinel runs on an automatic 30-day trial without one, but a license is required beyond that. See [License](/docs/sentinel/security/license/).
- An **HTTPS-capable ingress or reverse proxy** in front of Sentinel for production use — see [Reverse Proxy](/docs/sentinel/operations/reverse-proxy/).

## Production cluster checklist

Production deployments should run multiple replicas for high availability, which needs four things configured identically on every instance:

| Variable | Purpose |
|---|---|
| `SECRET_SEED` | Derives all signing/session secrets deterministically, so every node agrees on them. |
| `LICENSE_KEY` | A Professional or Enterprise license, required for multi-replica deployments. |
| A database URL (`POSTGRES_URL`, `MYSQL_URL`, etc.) | Shared main database instead of the embedded default. |
| `REDIS_URL` (or `REDIS_CLUSTER_URL`) | Shared KV store for rate limiting and cluster coordination. |

See [Clustering](/docs/sentinel/operations/clustering/#minimum-production-configuration) for a concrete example of all four together, and [ENV Variables](/docs/sentinel/operations/env-variables/) for the full reference.

## Container registries

Whichever installation method you use below, the Sentinel image is pulled from one of three registries; use whichever is fastest to reach from your infrastructure:

- `ghcr.io/altcha-org/sentinel` — GitHub Container Registry (used throughout these docs)
- `public.ecr.aws/n6m6b4n8/altcha-org/sentinel` — AWS ECR
- `ccr.ccs.tencentyun.com/altcha-org/sentinel` — Tencent Cloud (China)

Both `amd64` and `arm64` are supported and selected automatically.

## Deployment targets

- **[Docker](/docs/sentinel/install/docker/)** — the quickest way to run a single instance, recommended for getting started.
- **[Docker Compose](/docs/sentinel/install/docker-compose/)** — Sentinel plus a database in one stack, useful for local and small production setups.
- **[Kubernetes](/docs/sentinel/install/kubernetes/)** — for teams already running workloads on k8s.
- **[AWS ECS](/docs/sentinel/install/aws/)** — managed container deployment on AWS.
- **[Azure App Services](/docs/sentinel/install/azure/)** — managed deployment on Azure.
- **[Bunny.net](/docs/sentinel/install/bunny/)** — deployment on Bunny's edge/compute platform.

## After installing

Once Sentinel is running, continue to [Configure](/docs/sentinel/configure/) to set up Security Groups, API Keys, and Forms — or follow the end-to-end [Get Started](/docs/sentinel/get-started/) guide if you haven't already.
