Deploy Citadel, a zero-trust AI gateway, using Docker Compose.
-
Copy the environment template and configure it:
cp .env.example .env
At minimum, set:
SECRET_KEY— generate withopenssl rand -hex 32- At least one provider API key (
OPENROUTER_API_KEY, etc.)
-
Start the services:
docker compose up -d
-
Access Citadel:
With
DEV_LOGIN_ENABLED=true(the default), you can log in without external auth.
| Service | Port | Description |
|---|---|---|
| Citadel | 8000 | AI Gateway |
| PostgreSQL | 5432 (localhost only) | Database |
| Redis | 6379 (localhost only) | Rate limiting cache |
Database migrations run automatically when Citadel starts. No manual setup is needed.
Data is persisted in Docker volumes (postgres_data, redis_data).
See .env.example for all available options including:
- Provider API keys (OpenRouter, Vertex AI, AWS Bedrock)
- Guardrails and content filtering
- Rate limiting
- Logging options
Pull the latest image and restart:
docker compose pull
docker compose up -dTo pin a specific version, edit docker-compose.yml and change the image tag:
image: ghcr.io/radiusmethod/citadel:1.2.3