Chatwoot/docs/development/project-setup/quick-setup.md
petebytes 3f403c9e7a Improve docker compose performance (#347)   🤩
* Fix warning Integrity check: System parameters don't match

* Reduce commands required to use docker-compose and update quick-setup doc

Data will still persist when stopping and restarting containers.
To destroy the data can use docker-compose down --volumes

* Moved webpacker-dev-server to its own service

* cache bundle and yarn - improve volume performance - env conditional statements

* Fix inconsistent build results found during testing
2019-12-05 16:42:46 +05:30

2.3 KiB
Raw Blame History

path title
/docs/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

The first time you start your development environment run the following two commands:

# build and start the services
docker-compose up --build
# prepare the database
docker-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) or
docker-compose down
# start the services
docker-compose up

When you change the services Dockerfile or the contents of the build directory, run stop then build. (For example after modifying package.json or Gemfile)

docker-compose stop
docker-compose build

The docker-compose environment consists of:

  • chatwoot server
  • postgres
  • redis
  • webpacker-dev-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.

Docker for production

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 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.