Files
chatwoot/docs/development/project-setup/environment-variables.md
Sony Mathew da9ac8b26d 🔥Docker and environment variables cleanup (#270)
* Added dotenv-rails gem to manage environment variables

* Added dotenv-rails gem to manage environment variables
* Removed figaro which was used earlier for this purpose

* Standardized variable names

* Changed all env variables to be upper case. This included changes in files referencing env variables.
* Added example env file with all variables set to empty value
* Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this

* Docker setup

* Added docker file for building the docker images
* Added entrypoint.sh script which is referenced inside the Docker image
* Cloned the Procfile for development using docker which has slight change compared to regular procfile
* Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres

* Added docker related info to documentation

* Added the docker setup info in the documentation
* Added info for using`rbenv` instead of rvm for managing ruby versions
* Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro

* Changing the postgres database, username and password as environment variables

* Removed database.yml from gitignore
* Made the postgres databse, username and password as environemnt variables
* Added this in documentation

* Added a quick setup page

* Added quick setup page
* Removed the docs from README and added link to the docs in website
* Removed the figaro related things from circle.ci config

* Adding external volume for redis in docker compose

* Added instructions for adding the redis volume in docs
2019-11-24 01:27:39 +05:30

2.1 KiB

path, title
path title
/docs/environment-variables Environment Variables

Database configuration

Use the following values in database.yml which lives inside config directory.

development:
  <<: *default
  username: postgres
  password:
  database: chatwoot_dev

Environment Variables

We use dotenv-rails gem to manage the environment variables. There is a file called env.example in the root directory of this project with all the environment variables set to empty value. You can set the correct values as per the following options. Once you set the values, you should rename the file to .env before you start the server.

Configure FB Channel

To use FB Channel, you have to create an Facebook app in developer portal. You can find more details about creating FB channels here

FB_VERIFY_TOKEN=
FB_APP_SECRET=
FB_APP_ID=

Configure emails

For development, you don't need an email provider. Chatwoot uses letter-opener gem to test emails locally

Configure frontend URL

Provide the following value as frontend url

FRONTEND_URL='http://localhost:3000'

Configure storage

Chatwoot currently supports only S3 bucket as storage. You can read Creating an S3 bucket and Create an IAM user to configure the following details.

S3_BUCKET_NAME=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=

Configure Redis URL

For development, you can use the following url to connect to redis.

REDIS_URL='redis:://127.0.0.1:6379'

Configure Postgres host

You can set the following environment variable to set the host for postgres.

POSTGRES_HOST=localhost

For production and testing you have the following variables for defining the postgres database, username and password.

POSTGRES_DATABASE=chatwoot_production
POSTGRES_USERNAME=admin
POSTGRES_PASSWORD=password