Skip to content

Configuration

All configuration is done via environment variables.

VariableRequiredDefaultDescription
BASE_URL✅—Public URL of the AUMS instance (e.g. https://admin.example.com)
BETTER_AUTH_SECRET✅—32-byte random secret for session signing. Generate with npm run auth:secret
PROVIDER_CONFIG_ENCRYPTION_KEY—BETTER_AUTH_SECRETKey that encrypts secret provider settings at rest. Changing it (or the fallback) makes stored secrets unreadable: re-enter them in the settings
VariableRequiredDefaultDescription
DATABASE_URL✅—PostgreSQL connection string (e.g. postgresql://user:pass@host:5432/aums)
DATABASE_DIALECT—postgresqlDatabase dialect. Only postgresql is supported
DATABASE_CLIENT—postgresqlDatabase client. Only postgresql is supported
DATABASE_AUTO_MIGRATE—trueRun migrations automatically on startup
VariableRequiredDefaultDescription
WEBHOOK_ALLOW_PRIVATE_ADDRESSES—falseAllow webhooks to http URLs and to private network addresses. Only for self-hosted instances with trusted admins
REQUIRE_DELETE_APPROVAL—falseBusiness tier: user deletions need a second admin’s approval
ADMIN_AUDIT_RETENTION_DAYS——Delete admin actions older than this many days, daily at 03:17 UTC. Unset keeps them forever. Run once by hand with npm run audit:prune
VariableRequiredDefaultDescription
EMAIL_FROM✅—Sender address (e.g. AUMS <noreply@example.com>)
EMAIL_SERVER✅—SMTP connection string (e.g. smtps://user:pass@smtp.example.com)

Protect the AUMS dashboard behind your own OpenID Connect provider.

VariableRequiredDefaultDescription
AUTH_CLIENT_OPENID_CONFIGURATION_URL——OIDC discovery URL (e.g. https://oauth.example.com)
AUTH_CLIENT_ID——OIDC client ID
AUTH_CLIENT_SECRET——OIDC client secret
AUTH_CLIENT_SCOPE—openid profile emailSpace-separated OIDC scopes
VariableRequiredDescription
AUTH0_DOMAIN✅Auth0 tenant domain (e.g. your-tenant.auth0.com)
AUTH0_CLIENT_ID✅Management API M2M application client ID
AUTH0_CLIENT_SECRET✅Management API M2M application client secret
AUTH0_DEFAULT_CONNECTION—Database connection used to create users, and to scope users when an organization has no connection configured
VariableRequiredDescription
FIREBASE_PROJECT_ID✅GCP / Firebase project ID
FIREBASE_PRIVATE_KEY✅Service account private key (PEM, include newlines as \n)
FIREBASE_CLIENT_EMAIL✅Service account email address
VariableRequiredDescription
COGNITO_REGION✅AWS region (e.g. us-east-1)
COGNITO_USER_POOL_ID✅User pool ID (e.g. us-east-1_xxxxxxxxx)
AWS_ACCESS_KEY_ID✅AWS access key ID
AWS_SECRET_ACCESS_KEY✅AWS secret access key
VariableRequiredDefaultDescription
SCIM_BASE_URL✅—Base URL of the SCIM 2.0 service provider (e.g. https://idp.example.com/scim/v2)
SCIM_BEARER_TOKEN✅—Bearer token authorized against the SCIM service provider
SCIM_GROUPS_ENABLED—trueSet to false if the service provider does not expose /Groups

See the SCIM provider guide for details, including how to spin up cerberauth/scimply as a local test server.