This guide will help you to setup and run Chatwoot in development mode. Please make sure you have completed the environment setup.
# change location to the path you want chatwoot to be installedcd ~ # clone the repo and cd to chatwoot dirgit clone https://github.com/chatwoot/chatwoot.gitcd chatwoot
Use the following command to install ruby dependencies.
If you face issue with pg gem, please refer to Common Errors
This would install all required dependencies for Chatwoot application.
cp .env.example .env
Please refer to environment-variables to read on setting environment variables.
# run db migrationsbundle exec rake db:createbundle exec rake db:reset # fireup the serverforeman start -f Procfile.dev
http://localhost:3000user name: email@example.com: Password1!
When running Chatwoot in development environment, the chat widget can be accessed under the following URL.
You can also test the
setUser method by using
Note: Follow this section only if you are trying to setup Chatwoot via docker. Else skip this.
The first time you start your development environment run the following two commands:
# build and start the servicesdocker-compose up --build# prepare the databasedocker-compose exec server bundle exec rails db:prepare
Then browse http://localhost:3000
# To stop your environment use Control+C (on Mac) CTRL+C (on Win) ordocker-compose down# start the servicesdocker-compose up
When you change the service’s Dockerfile or the contents of the build directory, run stop then build. (For example after modifying package.json or Gemfile)
docker-compose stopdocker-compose build
The docker-compose environment consists of:
- chatwoot server
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 -rm 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.
Refer the docs to learn how to write cypress specs https://github.com/shakacode/cypress-on-rails https://docs.cypress.io/guides/overview/why-cypress.html
# in terminal tab1overmind start -f Procfile.test# in terminal tab2yarn cypress open --project ./test
You can use our official Docker image from https://hub.docker.com/r/chatwoot/chatwoot
docker pull chatwoot/chatwoot
You can create an image yourselves by running the following command on the root directory.
docker-compose -f docker-compose.production.yaml build
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.