Skip to content
Docs/Getting Started/Quick Start
Edit on GitHub

Quick Start

Bring up the full opensecstack ecosystem with Docker Compose in under ten minutes, or run a single platform from source with make dev.

Prerequisites

  • Docker 25+ and Docker Compose v2.24+ (included with Docker Desktop)
  • 8 GB RAM minimum — 16 GB recommended for the full stack
  • Ports 8080, 8089, 8090, 8091, 8099, 8100, 3000, 3001, 5432, 6379 free on your machine

Full stack (Docker Compose)

Clone the monorepo, copy the environment template, fill in the required secrets, then start all services with a single command.

Bash
"cm"># 1. Clone the monorepo
git clone https://github.com/opensecstack/opensecstack
cd opensecstack

"cm"># 2. Copy the environment template
cp deploy/.env.example deploy/.env

"cm"># 3. Open deploy/.env and set the required secrets, for example:
"cm">#    APIGUARD_JWT_SECRET=$(openssl rand -hex 32)
"cm">#    NIS2_JWT_SECRET=$(openssl rand -hex 32)
"cm">#    POSTGRES_PASSWORD=$(openssl rand -hex 16)
"cm">#    REDIS_PASSWORD=$(openssl rand -hex 16)
"cm">#    CITADEL_API_KEY=$(openssl rand -hex 32)
"cm">#    MEILI_MASTER_KEY=$(openssl rand -hex 32)
"cm">#    COMMUNITY_JWT_SECRET=$(openssl rand -hex 32)
"cm">#    COMMUNITY_PASSWORD_PEPPER=$(openssl rand -hex 32)
"cm">#    SIN_DB_PASSWORD=$(openssl rand -hex 16)
"cm">#    SINAUTH_DB_PASSWORD=$(openssl rand -hex 16)
"cm">#    SINAUTH_ISSUER=http://localhost:8100
"cm">#    SINAUTH_SITE_URL=http://localhost:5173

"cm"># 4. Start all services in the background
docker compose -f deploy/docker-compose.yml up -d

"cm"># 5. Check every service is healthy (allow ~60 s on first boot)
docker compose -f deploy/docker-compose.yml ps
Note: CITADEL is defined in its own compose file (.citadel/docker-compose.yml) and wired to the ecosystem via the APIGUARD_CITADEL_URL=http://citadel-api:8099 env var. Start it separately or merge the two files for full governance integration.

Service URLs

Once all containers are healthy the following endpoints are available:

ServiceURLPurpose
APIGuard APIhttp://localhost:8080API security scanner
APIGuard UIhttp://localhost:3000Scanner dashboard
NIS2 Compass APIhttp://localhost:8090NIS2 compliance engine
NIS2 Compass UIhttp://localhost:3001Compliance dashboard
ThreatFlow APIhttp://localhost:8091Threat intelligence (STIX 2.1)
SIN Community APIhttp://localhost:8089Developer knowledge hub
CITADEL APIhttp://localhost:8099Governance engine (internal)
sinauth APIhttp://localhost:8100OAuth 2.0 / OIDC identity provider
sinauth UIhttp://localhost:5173Login portal
PostgreSQLlocalhost:5432Shared database (internal)
Redislocalhost:6379Queue and cache (internal)

Every platform also exposes /health on its API port. Run a quick smoke check:

Bash
curl http://localhost:8080/health   "cm"># APIGuard
curl http://localhost:8090/health   "cm"># NIS2 Compass
curl http://localhost:8091/health   "cm"># ThreatFlow
curl http://localhost:8089/health   "cm"># SIN Community
curl http://localhost:8099/health   "cm"># CITADEL
curl http://localhost:8100/health   "cm"># sinauth

Single platform (from source)

Each platform is self-contained. Use make dev from the platform directory to start it with hot reload, with its own PostgreSQL instance managed by the platform's dev compose file.

Bash
"cm"># APIGuard (Go + Rust + React)
cd apiguard
cp .env.example .env
make dev
"cm"># API: http://localhost:8080  UI: http://localhost:3000

"cm"># NIS2 Compass (Python + React)
cd nis2compass
cp .env.example .env
docker compose -f docker-compose.dev.yml up -d
alembic upgrade head
cd ui && npm ci && npm run dev
"cm"># API: http://localhost:8090  UI: http://localhost:3001

"cm"># CITADEL (Go)
cd citadel
make docker-up && make migrate-up && make run
"cm"># API: http://localhost:8099

"cm"># IRFlow (Go)
cd irflow
make compose-test-up && make migrate-up && make run
"cm"># API: http://localhost:8083

"cm"># ThreatFlow (Rust + Go)
cd threatflow
docker compose up -d
"cm"># API: http://localhost:8084

"cm"># SIN Community (Go + Meilisearch)
cd community
cp .env.example .env
docker compose up -d
"cm"># API: http://localhost:8089

Next steps

Now that the stack is running, explore further:

SIN — Security Intelligence Network — Open-source cybersecurity & compliance for the EU Digital Decade.

Apache-2.0 & AGPL-3.0 · GitHub · Contribute