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 |