147 lines
5.4 KiB
Bash
147 lines
5.4 KiB
Bash
TYPE=keila
|
|
|
|
# see https://www.keila.io/docs/configuration/ for details on the environment variables below
|
|
|
|
# uncomment to run a specific version, available tags: https://hub.docker.com/r/pentacent/keila/tags
|
|
#APP_VERSION=0.30.3
|
|
|
|
# NOTE: upstream publishes linux/amd64 only, so this will not deploy to an ARM server. Point this at your own build if you need one.
|
|
#CONTAINER_REGISTRY=pentacent/keila
|
|
|
|
# enter your instance's domain name
|
|
DOMAIN=keila.example.com
|
|
|
|
## Domain aliases
|
|
#EXTRA_DOMAINS=', `www.keila.example.com`'
|
|
|
|
LETS_ENCRYPT_ENV=production
|
|
|
|
# enable abra backups
|
|
ENABLE_BACKUPS=true
|
|
|
|
COMPOSE_FILE="compose.yml"
|
|
|
|
# ====================================
|
|
# DATABASE CONFIG
|
|
|
|
COMPOSE_FILE="$COMPOSE_FILE:compose.db.postgres.yml"
|
|
SECRET_POSTGRES_PASSWORD_VERSION=v1
|
|
|
|
#POSTGRES_DB=keila
|
|
#POSTGRES_USER=keila
|
|
|
|
# for manual selection of the DB version and image uncomment
|
|
#DB_DOCKER_IMAGE=postgres
|
|
#DB_DOCKER_VERSION=17-alpine
|
|
|
|
# run Keila's tables in a named schema rather than public
|
|
#DB_SCHEMA=
|
|
|
|
# To use a managed database instead, comment out the compose.db.postgres.yml line above, swap in the overlay below, and insert the whole connection string as a secret:
|
|
# abra app secret insert <app> db_url v1 'postgres://user:pw@host:5432/keila'
|
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.db.external.yml"
|
|
#SECRET_DB_URL_VERSION=v1 # generate=false
|
|
|
|
# managed providers generally require TLS
|
|
#DB_ENABLE_SSL=true
|
|
#DB_VERIFY_SSL_HOST=true
|
|
|
|
# if the provider's certificate needs a CA bundle the system trust store lacks:
|
|
# abra app secret insert <app> db_ca_cert v1 "$(cat rds-ca-bundle.pem)"
|
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.db.cert.yml"
|
|
#SECRET_DB_CA_CERT_VERSION=v1 # generate=false
|
|
|
|
# ====================================
|
|
# ROOT ACCOUNT
|
|
|
|
# The admin account, created on the FIRST boot only and never again. Its password is the keila_password secret, which abra generates for you; read it back with `abra app secret ls <app>`.
|
|
KEILA_USER=admin@example.com
|
|
|
|
# ====================================
|
|
# SYSTEM MAIL
|
|
#
|
|
# This is transactional mail only: registration, password reset, contact forms. It is NOT how newsletters go out, see the section below.
|
|
#
|
|
# Keila halts at boot if MAILER_SMTP_HOST or MAILER_SMTP_FROM_EMAIL is missing, so these are not optional.
|
|
|
|
MAILER_SMTP_HOST=smtp.example.com
|
|
MAILER_SMTP_FROM_EMAIL=keila@example.com
|
|
SECRET_MAILER_SMTP_PASSWORD_VERSION=v1 # generate=false
|
|
|
|
# defaults to MAILER_SMTP_FROM_EMAIL
|
|
#MAILER_SMTP_USER=
|
|
|
|
#MAILER_SMTP_PORT=587
|
|
|
|
# auto (default), password, or none for a relay that authorises by network. With none, the password secret is not read.
|
|
#MAILER_SMTP_AUTH_METHOD=auto
|
|
|
|
# auto (default, decided by port), tls, starttls, or none
|
|
#MAILER_SMTP_TLS_MODE=auto
|
|
|
|
#MAILER_TYPE=smtp
|
|
|
|
# ====================================
|
|
# NEWSLETTER SENDING
|
|
#
|
|
# Nothing to set here. Keila configures newsletter delivery per project in the web UI, not in the environment: you pick a sender adapter (SMTP, Sendgrid, SES, Mailgun or Postmark) and enter its credentials there, and they are stored in the database.
|
|
#
|
|
# That means your database backups carry those sending credentials, so keep them somewhere protected.
|
|
|
|
# ====================================
|
|
# SIGNUP AND UPLOADS
|
|
|
|
# Closed by default, and worth leaving that way. This is a mail sender: anyone who can sign up can send campaigns through your SMTP credentials and your domain's reputation. Create accounts from the admin UI instead.
|
|
#
|
|
# To run an open instance, set this to exactly "false", "FALSE", "0" or empty. Any other value disables registration, so "False" and "no" both close it rather than open it.
|
|
DISABLE_REGISTRATION=true
|
|
|
|
# Stop users creating their own senders, leaving only the shared senders an admin set up at /admin/shared-senders. Deliberately NOT on by default: turn it on before creating a shared sender and nobody on the instance can send anything at all. Same value parsing as DISABLE_REGISTRATION above.
|
|
#DISABLE_SENDER_CREATION=true
|
|
|
|
# Keila serves user uploads from its own origin unless you give it another one. A separate hostname for untrusted files is worth having if you can spare one.
|
|
#USER_CONTENT_BASE_URL=https://uploads.example.com
|
|
|
|
# captcha on signup and subscription forms, hcaptcha or friendly_captcha
|
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.captcha.yml"
|
|
#SECRET_CAPTCHA_SECRET_KEY_VERSION=v1 # generate=false
|
|
#CAPTCHA_PROVIDER=hcaptcha
|
|
#CAPTCHA_SITE_KEY=
|
|
#CAPTCHA_VERIFY_URL=
|
|
#CAPTCHA_SCRIPT_URL=
|
|
|
|
# ====================================
|
|
# MISC
|
|
|
|
# serve the app under a sub-path rather than the domain root
|
|
#URL_PATH=/
|
|
|
|
# how long message bodies are retained, in days. Default 30.
|
|
#MESSAGE_RETENTION_DAYS=30
|
|
|
|
# per-account sending quotas, off by default
|
|
#ENABLE_QUOTAS=true
|
|
|
|
# Keila phones home to check for new releases; set to true to stop it
|
|
#DISABLE_UPDATE_CHECKS=true
|
|
|
|
# skip the periodic timezone database refresh
|
|
#DISABLE_TZDATA_UPDATES=true
|
|
|
|
# stop Keila adding the Precedence: bulk header to campaign mail
|
|
#DISABLE_PRECEDENCE_HEADER=true
|
|
|
|
# emergency, alert, critical, error, warning, notice, info, debug
|
|
#LOG_LEVEL=info
|
|
|
|
# ====================================
|
|
# SECRETS
|
|
# these secrets will be autogenerated/managed by abra and docker
|
|
|
|
SECRET_SECRET_KEY_BASE_VERSION=v1 # length=128
|
|
|
|
# Keila derives this from SECRET_KEY_BASE when unset, which ties the two together: rotating the key base would then change every public Hashid in existing campaign and form URLs. Setting it separately keeps those URLs stable.
|
|
SECRET_HASHID_SALT_VERSION=v1 # length=64
|
|
|
|
SECRET_KEILA_PASSWORD_VERSION=v1 # length=32
|