Installation
The fastest path to a running instance is Docker Compose. This page covers prerequisites, environment setup, and your first login.
Prerequisites
| Tool | Version | Required for |
|---|---|---|
| Go | 1.21+ | Backend + agent |
| PostgreSQL | 16 | Primary database |
| Redis | 7+ | Rate limiting + sessions |
| Docker | 24+ | Observability stack (Kafka, Prometheus, Grafana, MinIO) |
| Flutter | 3.24.5 | Mobile agent (optional) |
| Java | 21 | Flutter Android build (optional) |
1. Clone and configure
git clone https://github.com/The-Abhishek1/XCLOAK-SECURITY-SUITE
cd XCLOAK-SECURITY-SUITE
cp xcloak-platform/backend/.env.example xcloak-platform/backend/.env
2. Generate secrets
Two values in .env must be set before the backend will start:
openssl rand -hex 32 # paste as JWT_SECRET
openssl rand -hex 32 # paste as METRICS_TOKEN — also set in prometheus config
JWT_SECRET is shorter than 32 characters — this is a fail-loud safeguard, not a bug.3. Start the stack
docker compose up -d --build
Database migrations run automatically on backend startup — all of them, including the migration that seeds the default Sigma rule library, so detection starts working immediately without a separate import step.
4. Open the dashboard
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8080 |
| Grafana | http://localhost:3001 (admin/xcloak) |
| Prometheus | http://localhost:9090 |
| Kafka UI | http://localhost:8090 |
| MinIO Console | http://localhost:9001 |
5. Create your first account
Go to http://localhost:3000. Self-serve signup provisions a new tenant and admin account in one call — the first user to sign up becomes the admin. No SMTP setup required to get started. Migrations 056 and 059 seed 102 production-ready Sigma rules automatically.
6. Install an agent
From the dashboard: Agents → Add Agent to generate a one-time install token (single-use, expires in 24 hours), then on the target machine:
cd xcloak-agent-desktop
go build -o xcloak-agent-desktop ./main.go
./xcloak-agent-desktop # will prompt for the install token on first run
After registration, the agent token is saved to ~/.config/xcloak-agent-desktop/token and reused automatically on every subsequent start. See Agent for full details.