Skip to main content
Version: 2.3

Configuration

Environment variables

All configuration is done via environment variables. Copy .env.example and customize:

cp .env.example .env

Required

VariableDescription
JWT_SECRETJWT access token signing secret
REFRESH_SECRETJWT refresh token signing secret
CSRF_SECRETCSRF protection secret

Database

VariableDefaultDescription
DATABASE_URLpostgres://servasec:servasec@db:5432/servasec-db?sslmode=disableFull connection string
POSTGRES_USERservasecPostgreSQL user
POSTGRES_PASSWORD(required)PostgreSQL password
POSTGRES_DBservasec-dbDatabase name
POSTGRES_VERSION17PostgreSQL image version
SSC_SEED_DATABASEtrueSeed database with default data

Application

VariableDefaultDescription
SSC_SITE_NAMEservasecSite name shown in UI
SSC_PUBLIC_URLhttps://servasec.localPublic-facing URL
SSC_PUBLIC_DOMAINservasec.localPublic domain (used by Caddy)
SSC_REGISTRATION_ENABLEDtrueAllow self-registration
SSC_DEBUG_ENABLEDfalseEnable debug mode
SSC_ADMIN_PASSWORD(auto-generated)Initial admin password
SSC_API_PREFIX/apiAPI path prefix

Security

VariableDefaultDescription
TRUSTED_PROXIES_CIDR172.70.1.0/24Trusted proxy CIDR range
SSC_FEATURES_ENCRYPTION_KEY(auto-generated)AES-256-GCM key for encrypting tokens (GitHub App keys, etc.)

Pro features

VariableDescription
SSC_LICENSE_KEYLicense key to unlock Pro features
SSO_GITHUB_CLIENT_IDGitHub OAuth App client ID
SSO_GITHUB_CLIENT_SECRETGitHub OAuth App secret
SSO_GITLAB_CLIENT_IDGitLab OAuth App client ID
SSO_GITLAB_CLIENT_SECRETGitLab OAuth App secret
SSO_GITLAB_BASE_URLSelf-hosted GitLab base URL (optional)
SSO_OIDC_CLIENT_IDOIDC client ID
SSO_OIDC_CLIENT_SECRETOIDC client secret
SSO_OIDC_ISSUER_URLOIDC issuer URL
SSO_OIDC_SCOPESOIDC scopes (default: openid profile email)