Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration files and profiles

Load order (lowest → highest priority)

LayerSourceWhen loaded
1fogwall.ymlAlways — base defaults bundled in the jar
2fogwall-{profile}.ymlFor each profile listed in FOGWALL_CONFIG_PROFILES
3Environment variables (FOGWALL_*)Always — highest priority

FOGWALL_CONFIG_PROFILES

Set this environment variable to a comma-separated list of profile names. For each name, fogwall looks for fogwall-{name}.yml on the classpath (including any files mounted into /app/conf/ in Docker). Unknown or missing profile files are silently skipped.

# Local development — loads fogwall-local.yml
FOGWALL_CONFIG_PROFILES=local

# Docker with LDAP auth — loads fogwall-docker-default.yml then fogwall-ldap.yml
FOGWALL_CONFIG_PROFILES=docker-default,ldap

# Docker with OIDC auth and PostgreSQL
FOGWALL_CONFIG_PROFILES=docker-default,oidc
# (postgres settings come from FOGWALL_DATABASE_* env vars, no profile file needed)

Later profiles take priority over earlier ones. All profiles take priority over fogwall.yml. Environment variables override everything.

Bundled profiles

Profile nameFilePurpose
localfogwall-local.ymlLocal development: dev users, Vite CORS, test allow rules
docker-defaultfogwall-docker-default.ymlDocker base: admin user, Gitea provider, validation rules
ldapfogwall-ldap.ymlLDAP authentication config (used with docker-default)
oidcfogwall-oidc.ymlOIDC authentication config (used with docker-default)

When running via ./gradlew run, FOGWALL_CONFIG_PROFILES=local is set automatically. In Docker, set it explicitly via the Compose file or your deployment config.

Docker Compose

The Docker Compose setup uses overlay files to compose the stack. See docker/docker-compose.ldap.yml and docker/docker-compose.oidc.yml for examples of how profiles are combined.

# Default (local auth, h2 database)
docker compose up -d

# LDAP auth
docker compose -f docker/docker-compose.yml -f docker/docker-compose.ldap.yml up -d

# OIDC auth + PostgreSQL
docker compose --profile postgres \
  -f docker/docker-compose.yml -f docker/docker-compose.oidc.yml -f docker/docker-compose.postgres.yml up -d