Raven Quickstart
Prerequisites
- Docker ≥ 24 and Docker Compose v2
- A domain name (for production TLS) — or use
localhostfor local development
Steps
Clone the repository
bashgit clone https://github.com/ravencloak-org/Raven.git cd RavenCopy the example environment file and fill in your secrets
bashcp .env.example .envOpen
.envand set at minimum:POSTGRES_PASSWORD— strong password for PostgreSQLKEYCLOAK_ADMIN_PASSWORD— Keycloak admin console passwordRAVEN_KEYCLOAK_ADMIN_CLIENT_SECRET— secret for theadmin-cliclientRAVEN_ENCRYPTION_AES_KEY— 32-byte hex key for at-rest encryptionRAVEN_HYPERSWITCH_API_KEY— payment orchestrator key (or leave blank to skip billing)- At least one LLM provider key (
ANTHROPIC_API_KEY/OPENAI_API_KEY)
Start all services
bashdocker compose up -dDocker Compose will pull images, run database migrations, and start Keycloak, the Go API, the Python AI worker, SeaweedFS, and the Vue frontend.
Open Raven in your browser
Navigate to
http://localhost:3000(or your configured domain).Sign in
Click Sign in to be redirected to Keycloak. Register a new account or log in with the credentials you set in
.env.On first login the Onboarding Wizard will guide you through:
- Naming your organisation
- Creating your first Knowledge Base
- Configuring your LLM provider (BYOK)
- Sending a test message to verify the chatbot
(Optional) Auto-provision a Keycloak realm
If you need to programmatically create a new Keycloak realm (e.g. for multi-tenant deployments), call the internal provision endpoint from inside the Docker network:
bashcurl -s -X POST http://raven-api:8080/internal/provision-realm \ -H 'Content-Type: application/json' \ -d '{"realm_name": "my-tenant"}'The endpoint returns
200with the created realm name, or409if the realm already exists.