Skip to content

Configuration

All configuration is managed through environment variables defined in .env. Copy .env.example to .env and adjust values for your environment.

Database

VariableDefaultDescription
DATABASE_URLpostgresql+asyncpg://nis2:nis2secret@postgres:5432/nis2Async database connection string (used by FastAPI)
DATABASE_URL_SYNCpostgresql://nis2:nis2secret@postgres:5432/nis2Sync connection string (used by Alembic migrations)
POSTGRES_USERnis2PostgreSQL user
POSTGRES_PASSWORDnis2secretPostgreSQL password
POSTGRES_DBnis2PostgreSQL database name

Redis

VariableDefaultDescription
REDIS_URLredis://redis:6379/0Redis connection for caching and sessions

Authentication (JWT)

VariableDefaultDescription
JWT_SECRET(change in production)Secret key for signing JWT tokens. Generate with openssl rand -hex 32
JWT_ALGORITHMHS256JWT signing algorithm
ACCESS_TOKEN_EXPIRE_MINUTES30Access token lifetime in minutes
REFRESH_TOKEN_EXPIRE_DAYS7Refresh token lifetime in days

Celery

VariableDefaultDescription
CELERY_BROKER_URLredis://redis:6379/1Celery message broker
CELERY_RESULT_BACKENDredis://redis:6379/2Celery result backend

Frontend (Next.js)

VariableDefaultDescription
NEXTAUTH_URLhttp://localhost:8077NextAuth base URL
NEXTAUTH_SECRET(change in production)NextAuth encryption secret
API_URLhttp://localhost:8000Internal API URL (server-side)
NEXT_PUBLIC_API_URLhttp://localhost:8000Public API URL (client-side)

Production (Caddy)

VariableDefaultDescription
DOMAINnis2.yourdomain.comDomain for Caddy auto-HTTPS. Set this for production deployments

Scanner Defaults

Scanner behavior is configured per scan via the API when creating a scan or schedule. Organization settings store defaults that new scans inherit. Key defaults in the scan creation endpoint:

  • Timeout: 10 seconds per check (scan_timeout)
  • Concurrency: 20 parallel tasks (concurrency)
  • Max hosts: 0 (unlimited) -- configurable limit on targets per scan (max_hosts)
  • Features: Individual check categories (dns_checks, web_checks, port_scan, whois_checks) can be toggled per scan. Organization settings store the defaults that new scans inherit.

Organization Settings

Organization-level settings are managed through the dashboard under Settings:

  • Organization name and metadata
  • Default scan configuration (features, concurrency, timeout)
  • Team member management (invite, role assignment)
  • API key management
  • Notification channel preferences

Released under the MIT License.