Skip to content

Environment Variables

All Concourse configuration can be set through environment variables. These override values in the YAML config file.

VariableDescriptionRequiredDefault
CONCOURSE_JWT_SECRETJWT signing secret. Must be at least 32 bytes.Yes
CONCOURSE_PUBLIC_URLPublic URL of this Concourse instance (for autodiscovery and callbacks).No
CONCOURSE_NAMEOrganization name displayed in the inboard app.NoMy Company
CONCOURSE_EXTENSIONS_URLURL of the extension registry.No
DATABASE_URLPrimary database URL (sqlite://, file://, libsql://, or :memory:).Nosqlite:///data/concourse.db
CONCOURSE_ADMIN_EMAILBootstrap admin email. Used on first startup only.First run
CONCOURSE_ADMIN_PASSWORDBootstrap admin password. Used on first startup only.First run
CONCOURSE_ADMIN_NAMEBootstrap admin display name.No
CONCOURSE_AGENTS_API_KEYAnthropic API key for AI agent functionality.No
OIDC_CLIENT_IDOIDC client ID from your identity provider.If OIDC enabled
OIDC_CLIENT_SECRETOIDC client secret.If OIDC enabled
OIDC_REDIRECT_URIOIDC callback URL.If OIDC enabledhttp://localhost:8080/api/v1/auth/oidc/callback
SAML_METADATA_URLSAML IdP metadata URL.If SAML enabled
SAML_ENTITY_IDSAML Service Provider entity ID.If SAML enabledhttps://concourse.example.com
SAML_ACS_URLSAML Assertion Consumer Service URL.If SAML enabledhttp://localhost:8080/api/v1/auth/saml/acs
AUDIT_DATABASE_URLAudit database URL.Nofile:///data/audit.db
AUDIT_WEBHOOK_URLSIEM webhook URL for audit event forwarding.No
AUDIT_WEBHOOK_TOKENBearer token for SIEM webhook authentication.No
RUST_LOGLog level filter.Noinfo,hyper=warn
VariableDescriptionRequiredDefault
CONCOURSE_URLURL of the Concourse server the relay connects to.Yes
RELAY_TOKENAuthentication token issued when registering the relay.Yes
RELAY_NAMEDisplay name for this relay instance.NoOffice Relay
DB_HOSTDatabase host (used in relay config interpolation).Depends on config
DB_PASSWORDDatabase password (used in relay config interpolation).Depends on config

The RUST_LOG variable controls log verbosity. Common values:

ValueDescription
errorErrors only.
warnWarnings and errors.
infoGeneral operational messages (default).
debugDetailed debugging output.
info,hyper=warnInfo level with reduced noise from the HTTP library (recommended).
Terminal window
docker run -d --name concourse \
-p 8080:8080 \
-v concourse-data:/data \
-e CONCOURSE_JWT_SECRET=a-random-string-at-least-32-bytes \
-e CONCOURSE_ADMIN_EMAIL=admin@example.com \
-e CONCOURSE_ADMIN_PASSWORD=changeme \
-e CONCOURSE_PUBLIC_URL=https://concourse.example.com \
ghcr.io/inboard-ai/concourse:latest
Terminal window
docker run -d --name concourse \
-p 8080:8080 \
-v concourse-data:/data \
-e CONCOURSE_JWT_SECRET=a-random-string-at-least-32-bytes \
-e CONCOURSE_ADMIN_EMAIL=admin@example.com \
-e CONCOURSE_ADMIN_PASSWORD=changeme \
-e CONCOURSE_PUBLIC_URL=https://concourse.example.com \
-e OIDC_CLIENT_ID=your-client-id \
-e OIDC_CLIENT_SECRET=your-client-secret \
-e OIDC_REDIRECT_URI=https://concourse.example.com/api/v1/auth/oidc/callback \
ghcr.io/inboard-ai/concourse:latest