Skip to content

Environment variables

Variable Purpose
SECRET_KEY Django signing key. Generate a long random string.
DB_PASSWORD Postgres password used by every service.
KEANAN_DOMAIN Public domain. Caddy obtains TLS for it.
ALLOWED_HOSTS Comma separated hosts Django accepts.
CORS_ALLOWED_ORIGINS Origins allowed to call the API.
UNLEASH_ADMIN_TOKEN Admin token for the flags console.
Variable Default Purpose
BRAND_PRODUCT_NAME Keanan Product name everywhere
BRAND_COMPANY_NAME Keanan Company name in emails and PDFs
BRAND_COMPANY_ADDRESS empty Legal address line
BRAND_COMPANY_EMAIL hello@keanan.app Contact address
BRAND_WEBSITE keanan.app Footer link
BRAND_COLOR_PRIMARY #183145 Email and PDF primary
BRAND_COLOR_PRIMARY_DARK #0F2233 Dark variant
BRAND_COLOR_ACCENT #F56E28 Accent
BRAND_LOGO_PATH bundled logo PDF logo file
Variable Default Purpose
DB_NAME set per deployment Database name
DB_USER set per deployment Database user
DB_HOST db Database host
REDIS_URL redis://redis:6379/0 Cache and channels
CELERY_BROKER_URL redis://redis:6379/1 Task broker
UNLEASH_URL http://unleash:4242 Flags service
UNLEASH_CLIENT_TOKEN development token Flags client token
Variable Purpose
RESEND_API_KEY Send through Resend when set
DEFAULT_FROM_EMAIL From address on all mail
EMAIL_HOST and friends SMTP fallback when Resend is unset

Set all four to switch media storage from the local volume to S3: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_STORAGE_BUCKET_NAME and AWS_S3_REGION_NAME.