88 lines
5.9 KiB
Markdown
88 lines
5.9 KiB
Markdown
# 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.
|
|
|
|
### General
|
|
|
|
| Name | Value |
|
|
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
| `MCAPTCHA_CONFIG` | Path to configuration file |
|
|
| `MCAPTCHA_COMMERCIAL` | Does this instance offer commercial plans? Please consider donating if it does :D |
|
|
| `MCAPTCHA_SOURCE_CODE` | Link to the source code of this instance |
|
|
| `MCAPTCHA_ALLOW_REGISTRATION` | Is registration allowed on this instance? |
|
|
| `MCAPTCHA_ALLOW_DEMO` | Allow demo access to the server? If registration(previous option) is disabled then demo users will not be allowed |
|
|
|
|
#### Database
|
|
|
|
| Name | Value |
|
|
| ------------------------------------ | -------------------------------------------------------------- |
|
|
| `MCAPTCHA_DATEBASE_PASSWORD` | database user password |
|
|
| `MCAPTCHA_DATEBASE_NAME` | database name |
|
|
| `MCAPTCHA_DATEBASE_PORT` | port on which the DBMS is running |
|
|
| `MCAPTCHA_DATEBASE_HOSTNAME` | hostname of the DBMS |
|
|
| `MCAPTCHA_DATEBASE_USERNAME` | database username |
|
|
| `MCAPTCHA_DATEBASE_POOL` | database connection pool size |
|
|
| `MCAPTCHA_DATEBASE_DATABASE_TYPE` | database tpye: "postgres" or "maria" |
|
|
| `DATABSE_URL` (overrides above vars) | database 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_PROXY_HAS_TLS` | Is mCaptcha behind a proxy? If yes, mCaptcha can send additional headers like HSTS |
|
|
|
|
\* Authentication doesn't work without `MCAPTCHA_DOMAIN` set to the correct domain
|
|
|
|
### Captcha
|
|
|
|
| Name | Value |
|
|
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
|
|
| `MCAPTCHA_CAPTCHA_SALT` | Salt has to be long and random |
|
|
| `MCAPTCHA_CAPTCHA_GC` | Garbage collection duration in seconds, requires tuning but 30 is a good starting point |
|
|
| `MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY`% | Difficulty factor to use in CAPTCHA configuration estimation for average traffic metric |
|
|
| `MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY`% | Difficulty factor to use in CAPTCHA configuration estimation for peak traffic metric |
|
|
| `MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC_DIFFICULTY`% | Difficulty factor to use in CAPTCHA configuration estimation for traffic that took the website down |
|
|
|
|
\% See commits
|
|
[`54b14291ec140e`](https://github.com/mCaptcha/mCaptcha/commit/54b14291ec140ea4cbbf73462d3d6fc2d39f2d2c)
|
|
and
|
|
[`42544ec421e0`](https://github.com/mCaptcha/mCaptcha/commit/42544ec421e0c3ec4a8d132e6101ab4069bf0065)
|
|
for more info.
|
|
|
|
### 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 |
|