* 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
2 KiB
path | title |
---|---|
/docs/quick-setup | Quick Setup |
Quick Setup
Install Ruby dependencies
Use the following command to install ruby dependencies.
bundle
Install JavaScript dependencies
yarn
This would install all required dependencies for Chatwoot application.
Please refer to environment-variables to read on setting environment variables.
Setup rails server
# run db migrations
bundle exec rake db:create
bundle exec rake db:reset
# fireup the server
foreman start -f Procfile.dev
Login with credentials
http://localhost:3000
user name: john@acme.inc
password: 123456
Docker for development
If you are using docker for the development follow the following steps.
We are running postgres and redis services along with chatwoot server using docker-compose.
Create a volume for postgres and redis so that you data will persist even if the containers goes down.
docker volume create --name=postgres
docker volume create --name=redis
docker-compose build
Remove the node_modules
directory from the root if it exists and run the following command.
docker-compose run server yarn install
If in case you encounter a seeding issue or you want reset the database you can do it using the following command :
docker-compose run server bundle exec rake db:reset
This command essentially runs postgres and redis containers and then run the rake command inside the chatwoot server container.
Now you should be able to run :
docker-compose up
to see the application up and running.
Docker for production
On the root directory run the following command :
docker image build -f docker/Dockerfile .
This will build the image which you can depoy in Kubernetes (GCP, Openshift, AWS, Azure or anywhere), Amazon ECS or Docker Swarm. You can tag this image and push this image to docker registry of your choice.
Remember to make the required environment variables available during the deployment.