Getting Started
Quickstart — Self-Hosted
Run the full Kaiten stack locally with Docker Compose in 15 minutes.
Quickstart — Self-Hosted
Run Kaiten locally using Docker Compose with pre-seeded demo data.
Prerequisites
- Docker and Docker Compose (v2+)
- Git
- An Identity Provider account (e.g. Clerk) — see Authentication for alternatives
Setup
Clone the Repository
git clone https://github.com/kaitencloud/kaiten.git
cd kaitenConfigure Environment Variables
cp .env.example .envEdit .env and fill in the required values:
# Kaiten
KAITEN_PORT=6000
# API — your Identity Provider secret
CLERK_SECRET_KEY=sk_test_xxxxx
# Database
KAITEN_DATABASE_PORT=5452
KAITEN_DATABASE_USER=kaiten
KAITEN_DATABASE_PASSWORD=kaiten
KAITEN_DATABASE=kaitenCLERK_SECRET_KEY is required for authentication. See the Clerk Setup Guide for step-by-step instructions on creating a Clerk application and obtaining your secret key.
Launch with Demo Data
Start the stack with the Kaiten Sushi Shop demo profile:
KAITEN_SEED_PROFILE=kaiten-sushi-shop make upThis runs the backend profile which includes:
- Traefik — API gateway with JWT validation and routing
- PostgreSQL 17 — database with WAL logical replication
- Go API — REST + GraphQL server
- Seeder — populates the database with demo data
Without demo data, run make up instead. Other profiles:
make up-full— adds MCP server + Jaeger tracingmake up-frontend— adds the local React dashboard dev server
Verify Services
make psYou should see traefik, kaiten-db, kaiten-api, and kaiten-seeder (completed) running.
Open the Dashboard
- Dashboard: http://localhost:6000
- API Docs (Scalar): http://localhost:6000/api/docs
- OpenAPI Spec: http://localhost:6000/api/openapi.json
- Health Check: http://localhost:6000/api/healthz
What's Running
| Service | Container | Port | Description |
|---|---|---|---|
| Traefik | traefik | 6000 (web), 8080 (dashboard) | API gateway, auth middlewares |
| PostgreSQL | kaiten-db | 5452 | Database with WAL replication |
| API | kaiten-api | — (behind Traefik) | Go REST + GraphQL server |
| Seeder | kaiten-seeder | — (one-shot) | Database seeding |

