Suggest Edits

Required Configuration


Talk requires configuration in order to customize the installation. The default behavior is to load it’s configuration from the environment, following the 12 Factor App Manifesto. In development, you can specify configuration in a file named .env and it will be loaded into the environment when you run yarn watch:server.

The above variables do not have defaults, and are required to start your instance of Talk.

If you’ve already configured your application with the required configuration, you can further customize it’s behavior by applying Advanced Configuration.

TALK_MONGO_URL

The database connection string for the MongoDB database. This usually takes the form of:

TALK_MONGO_URL=mongodb://<DATABASE USER>:<DATABASE PASSWORD>@<DATABASE HOST>:<DATABASE PORT>/<DATABASE NAME>

Refer to connection string uri format for the detailed url scheme of the MongoDB url.

TALK_REDIS_URL

The database connection string for the Redis database. This usually takes the form of:

TALK_REDIS_URL=redis://user:<DATABASE PASSWORD>@<DATABASE HOST>:<DATABASE PORT>/<DATABASE NUMBER>

If we for example, had Redis running on our local machine without a password, where I want to use database #2, I could set the TALK_REDIS_URL to:

TALK_REDIS_URL=redis://127.0.0.1:6379/2

Refer to uri scheme for the detailed url scheme of the Redis url.

TALK_ROOT_URL

The root url of the installed application externally available in the format:

TALK_ROOT_URL=<SCHEME>://<HOST>:<PORT?>/<PATHNAME>

For example, if we installed our application onto the talk.coralproject.net domain, where we used a proxy like Caddy or Nginx to perform SSL termination, then TALK_ROOT_URL would be:

TALK_ROOT_URL=https://talk.coralproject.net/

Note that we omitted the PORT, as it was implied by setting the SCHEME to https.

TALK_JWT_SECRET

Used to specify the application signing secret. You can specify this using a simple string, we recommend using a password generator and pasting it’s output. An example for TALK_JWT_SECRET could be:

TALK_JWT_SECRET=jX9y8G2ApcVLwyL{$6s3

Be default, we sign our tokens with HMAC using a SHA-256 hash algorithm. If you want to change the signing algorithm, or use multiple signing/verifying keys, refer to our Advanced Configuration documentation.