Configuration options

Mailgoose can be configured by setting the following variables in the .env file (in the form of VARIABLE_NAME=VARIABLE_VALUE directives, e.g. APP_DOMAIN=example.com):

Data

DB_URL

Default: None

The URL used to connect to the database (as documented on https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls). The CERT PL production instance uses PostgreSQL - this is the database the system has been most thoroughly tested on.

If you start the system using the default docker-compose.yml file in the Github repository, this variable (and a database) will be set up for you.

REDIS_MESSAGE_DATA_EXPIRY_SECONDS

Default: 864000

The messages sent to the system and stored in Redis expire in order to decrease the chance that Redis takes too much memory (the full scan logs are stored in a Postgres database). This variable controls how long they will be stored before they expire.

REDIS_URL

The URL used to connect to Redis, eg. redis://redis:6379/0 (the format is documented on https://redis-py.readthedocs.io/en/stable/connections.html#redis.Redis.from_url).

If you start the system using the default docker-compose.yml file in the Github repository, this variable (and a Redis instance) will be set up for you.

Network

APP_DOMAIN

The domain the site is running on.

FALLBACK_NAMESERVERS

Default: 8.8.8.8

A comma-separated list of nameservers that will be used to resolve domains if NAMESERVERS fail. This can be used e.g. to use recursive nameservers as NAMESERVERS and nameservers such as e.g. 8.8.8.8 as FALLBACK_NAMESERVERS.

NAMESERVERS

Default: 8.8.8.8

A comma-separated list of nameservers that will be used to resolve domains.

SSL_CERTIFICATE_PATH

SSL certificate path. Remember:

  1. to mount it into your Docker container,

  2. to restart the containers if a new one is generated,

  3. that generated certificates may be symbolic links - their destination must also be mounted.

SSL_PRIVATE_KEY_PATH

SSL private key path. Please refer to SSL_CERTIFICATE_PATH variable documentation to learn potential caveats.

UI

LANGUAGE

Default: en_US

The language the site will use (in the form of language_COUNTRY, e.g. en_US). Supported options are: en_US, lt_LT, pl_PL.

OLD_CHECK_RESULTS_AGE_MINUTES

Default: 60

If the user is viewing old check results, they will see a message that the check result may not describe the current configuration. This is the threshold (in minutes) how old the check results need to be for that message to be displayed.

SITE_CONTACT_EMAIL

Default: None

The contact e-mail that will be displayed in the UI (currently in the message that describes what to do if e-mails to the system aren’t received).