Deploy Chatwoot using Docker containers for production environments
docker
and docker-compose
installed.
As of now [at the time of writing this doc], we recommend a version equal to or higher than the following.
-
with _
. Also, use docker-compose
instead of docker compose
..env
and docker-compose.yaml
according to your preferences. Refer to the available environment variables. You could also remove the dependant services like Postgres
, Redis
etc., in favor of managed services configured via environment variables.
curl -I localhost:3000/api
to see if it returns 200
. Also, you could temporarily drop the 127.0.0.1:3000:3000
for rails to 3000:3000
in the compose file to access your instance at http://<your-external-ip>:3000
. It’s recommended to revert this change back and use Nginx or some proxy server in the front.
Nginx
web server acting as a reverse proxy for Chatwoot installation. So that you can access Chatwoot from https://chat.yourdomain.com
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
whenever you decide to update the Chatwoot images to handle the migrations.yourdomain.com
in server_name
.
https://yourdomain.com
now.
3000
. Ensure the images connect to the same database and Redis servers. Provide the configuration for these services via environment variables.
rails db:chatwoot_prepare
. You may get errors if you try to run rails db:migrate
at this point.
latest
or latest-ce
tag, you first need to change the desired tag in your docker-compose file.
After that you can pull the new image and start using them:
master
would be latest-ce
. Version specific tags would follow the pattern v*-ce
. For example the docker ce edition tag for Chatwoot v2.3.2
would be v2.3.2-ce
.