Diese Seite ist leider noch nicht auf Deutsch verfügbar.

Self-Hosting Keila: Configuration

When self-hosting Keila, you can configure most aspects of the application with environment variables.

Database

Configure the PostgreSQL database used by Keila:

Variable Required Default Description
DB_URL yes - URL following the schema postgres://user:password@host/database
DB_ENABLE_SSL no false Use SSL/TLS for the database connection
DB_VERIFY_SSL_HOST no true Enable SSL hostname verification (disable if connecting to an IP directly)
DB_CA_CERT no - SSL certificate (PEM) for connecting to the database

Root User

When you start Keila for the first time, a root user is created. If you don’t specify otherwise, a user with a random password is created printed to stdout.

Variable Required Default Description
KEILA_USER root@localhost Email address for the root user
KEILA_PASSWORD random Password for the root user. At least 10 characters

URL

Configure publicly-visible URLs generated by Keila with the following variables:

Variable Required Default Description
URL_HOST yes - Domain of your Keila instance
URL_PATH / Path of your Keila instance
URL_SCHEMA https if URL_PORT is 443. Else: http http or https. URL scheme of your Keila instance
URL_PORT 443 if URL_SCHEMA is https. Else: PORT Port of your Keila instance

Deployment

Variable Required Default Description
PORT 4000 Port on which Keila will listen
SECRET_KEY_BASE yes - Strong secret with at least 64 characters. Can be generated with head -c 48 /dev/urandom | base64
HASHID_SALT derived from SECRET_KEY_BASE Salt for creating Hashids. More information
DISABLE_PRECEDENCE_HEADER false Disable the Precedence: Bulk header by settings this variable to true
DISABLE_REGISTRATION false Disable user registration by setting this variable to true
DISABLE_TZDATA_UPDATES false Disable automatic timezone database updates by settings this to variable to true.
DISABLE_UPDATE_CHECKS false Disable the automatic checks for updates by setting this variable to true
USER_CONTENT_DIR ./uploads Path to a directory where user uploads will be stored. When deploying using containers, this should point to the path of a volume to make sure uploads are persisted.
USER_CONTENT_BASE_URL - Base URL at which files in USER_CONTENT_DIR are available on the web. It’s recommended to set up a separate server (such as Nginx or Apache) to serve user content. If not set, Keila wil serve user content files directly.
LOG_LEVEL info Sets the verbosity of the application logger. Possible values: debug, info, warning

System mailer

Keila needs to be able to send system emails, e.g. for registration and password reset emails. Configure an SMTP sender for this purpose with the following variables:

Variable Required Default Description
MAILER_TYPE smtp Currently only smtp is supported
MAILER_SMTP_FROM_EMAIL yes - FROM email address
MAILER_SMTP_HOST yes - Hostname of the SMTP server
MAILER_SMTP_PORT 587 Port of the SMTP server
MAILER_SMTP_USER MAILER_SMTP_FROM_EMAIL Username for the SMTP server
MAILER_SMTP_PASSWORD yes - Password for the SMTP server
MAILER_ENABLE_SSL false Enable SSL/TLS by setting to true
MAILER_ENABLE_STARTTLS false Enable STARTTLS by setting to true

Captcha

Keila can use hCaptcha or Friendly Captcha to protect your sign-up forms. Configure the captcha provider with the following variables:

Variable Required Default Description
CAPTCHA_PROVIDER hcaptcha Captcha provider, one of hcaptcha or friendly_captcha
CAPTCHA_SITE_KEY - Captcha provider site key
CAPTCHA_SECRET_KEY - Captcha provider secret key
CAPTCHA_URL variable Captcha provider verification URL, defaults to https://hcaptcha.com/siteverify for hcaptcha and https://api.friendlycaptcha.com/api/v1/siteverify for friendly_captcha