mCaptcha/docs/CONFIGURATION.md
2021-07-09 12:04:48 +05:30

3.8 KiB

Configuration

mcaptcha is highly configurable.

Configuration is applied/merged in the following order:

  1. path to configuration file passed in via MCAPTCHA_CONFIG
  2. ./config/default.toml
  3. /etc/mcaptcha/config.toml
  4. environment variables.

Setup

Environment variables:

Setting environment variables are optional. The configuration files have all the necessary parameters listed. By setting environment variables, you will be overriding the values set in the configuration files.

Database:

Name Value
MCAPTCHA_DATEBASE_PASSWORD Postgres password
MCAPTCHA_DATEBASE_NAME Postgres database name
MCAPTCHA_DATEBASE_PORT Postgres port
MCAPTCHA_DATEBASE_HOSTNAME Postgres hostmane
MCAPTCHA_DATEBASE_USERNAME Postgres username
MCAPTCHA_DATEBASE_POOL Postgres database connection pool size
DATABSE_URL (overrides above vars) databse URL in postgres://user:pass@host:port/dbname format

Redis:

Name Value
MCAPTCHA_REDIS_URL Redis URL
MCAPTCHA_REDIS_POOL Redis connection pool size

Server:

Name Value
MCAPTCHA_SERVER_PORT The port on which you want mcaptcha to listen to
PORT(overrides MCAPTCHA_SERVER_PORT) The port on which you want mcaptcha to listen to
MCAPTCHA_SERVER_IP The IP address on which you want mcaptcha to listen to
MCAPTCHA_SERVER_DOMAIN Domain under which mcaptcha will be*
MCAPTCHA_SERVER_COOKIE_SECRET Cookie secret, must be long and random
MCAPTCHA_SERVER_ALLOW_REGISTRATION bool that controls

* Authentication doesn't work without MCAPTCHA_DOMAIN set to the correct domain

Configuration file location:

Name Value
MCAPTCHA_CONFIG Path to config file

Proof of work:

Name Value
MCAPTCHA_POW_SALT Salt has to be long and random
MCAPTCHA_POW_GC Garbage collection duration in seconds, requires tuning but 30 is a good starting point

SMTP

Name Value
MCAPTCHA_SMTP_FROM email address from which the email will be sent
MCAPTCHA_SMTP_REPLY_TO email address to which reply can be sent
MCAPTCHA_URL SMTP server URL
MCAPTCHA_SMTP_PORT SMTP server port
MCAPTCHA_SMTP_USERNAME SMTP username
MCAPTCHA_SMTP_PASSWORD SMTP password