3.6 KiB
title, permalink, class
| title | permalink | class |
|---|---|---|
| Required Configuration | /configuration/ | 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{:target="_blank"}.
In development, you can specify configuration in a file named .env and it will
be loaded into the environment when you run yarn dev-start.
The following variables do not have defaults, and are required to start your instance of Talk:
{% include toc.html %}
If you've already configured your application with the required configuration, you can further customize it's behavior by applying [Advanced Configuration]({{ "/advanced-configuration/" | relative_url }}).
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{:target="_blank"} 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{:target="_blank"} 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{:target="_blank"}
or Nginx{:target="_blank"} 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
{: .no-copy}
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]({{ "/advanced-configuration/" | relative_url }}) documentation.
TALK_FACEBOOK_APP_ID
The Facebook App ID for your Facebook Login enabled app. You can learn more
about getting a Facebook App ID at the
Facebook Developers Portal{:target="_blank"}
or by visiting the
Creating an App ID{:target="_blank"}
guide. This is only required while the talk-plugin-facebook-auth plugin is
enabled.
TALK_FACEBOOK_APP_SECRET
The Facebook App Secret for your Facebook Login enabled app. You can learn more
about getting a Facebook App Secret at the
Facebook Developers Portal{:target="_blank"}
or by visiting the
Creating an App ID{:target="_blank"}
guide. This is only required while the talk-plugin-facebook-auth plugin is
enabled.