BuildButler

Environment Variables

All environment variables supported by BuildButler for configuring the collector, dashboard, and integrations.

BuildButler is configured primarily through environment variables. Set them in your .env file, Docker Compose, or CI/CD platform.

Core

VariableDefaultDescription
DATABASE_URLPostgreSQL connection string (required)
PORT3000HTTP server port
HOST0.0.0.0HTTP server bind address
NODE_ENVproductiondevelopment enables hot reload and verbose logging
LOG_LEVELinfoOne of debug, info, warn, error

Jenkins connection

VariableDefaultDescription
JENKINS_URLBase URL of your Jenkins instance
JENKINS_USERNAMEAPI username
JENKINS_TOKENAPI token
JENKINS_POLL_INTERVAL30Seconds between API polls
JENKINS_TLS_REJECT_UNAUTHORIZEDtrueSet to false for self-signed certs
JENKINS_MAX_BUILDS_PER_JOB100Maximum builds to fetch per job on initial sync

Database

# Full connection string format
DATABASE_URL="postgresql://user:password@host:5432/buildbutler?sslmode=require"
VariableDefaultDescription
DB_POOL_MIN2Minimum pool connections
DB_POOL_MAX10Maximum pool connections
DB_MIGRATION_AUTOtrueRun migrations on startup
DB_RETENTION_DAYS90Auto-delete builds older than this

Authentication

VariableDefaultDescription
AUTH_SECRETSecret for signing session tokens (required)
AUTH_PROVIDERlocallocal, oidc, or saml
OIDC_ISSUEROIDC provider issuer URL
OIDC_CLIENT_IDOIDC client ID
OIDC_CLIENT_SECRETOIDC client secret

Example .env file

# .env
DATABASE_URL=postgresql://bb:bb@localhost:5432/buildbutler
PORT=3000
LOG_LEVEL=info
AUTH_SECRET=change-me-to-a-random-string
 
JENKINS_URL=https://jenkins.example.com
JENKINS_USERNAME=ci-bot
JENKINS_TOKEN=11a2b3c4d5e6f
JENKINS_POLL_INTERVAL=30
 
DB_RETENTION_DAYS=90

Overriding at runtime

Environment variables can also be set per-connection in the dashboard under Settings → Connections → Advanced. Connection-level overrides take precedence over environment variables.

On this page