Licenses will appear here once you subscribe to a plan.
Register your first application instance to get started
Not sure how to start? Click here for a quick guide!
Follow these steps to set up Chatwoot fazer.ai Pro on your server.
On the Licenses tab, find your license and click "Create Credentials" in the Download Credentials section.
A modal will appear with a docker login command. Click the copy button to copy the entire command. Save this command — the password will only be shown once!
Open a terminal on the server where you want to run Chatwoot fazer.ai Pro. This could be via SSH or directly on the machine.
Paste and run the docker login command you copied. You should see "Login Succeeded".
Verify your credentials work by pulling the image:
docker pull harbor.fazer.ai/chatwoot/fazer-ai/chatwoot-pro:latest
If you already have a Chatwoot installation, update your docker-compose or deployment configuration to use the new image:
harbor.fazer.ai/chatwoot/fazer-ai/chatwoot-pro:latest
If you don't have Chatwoot yet, you can use our pre-configured docker-compose for Coolify below.
Copy this docker-compose configuration and paste it into Coolify:
version: "3"
services:
chatwoot:
image: "harbor.fazer.ai/chatwoot/fazer-ai/chatwoot-pro:latest"
pull_policy: always
volumes:
- "rails-data:/app/storage"
depends_on:
- postgres
- redis
environment:
- SERVICE_URL_CHATWOOT
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
- DEFAULT_LOCALE=pt_BR
- "FRONTEND_URL=${SERVICE_URL_CHATWOOT}"
- "INTERNAL_HOST_URL=http://rails:3000"
- POSTGRES_HOST=postgres
- POSTGRES_PORT=5432
- "POSTGRES_USERNAME=${SERVICE_USER_POSTGRES}"
- "POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}"
- "POSTGRES_DATABASE=${POSTGRES_DB:-chatwoot}"
- "SECRET_KEY_BASE=${SERVICE_PASSWORD_64_SECRETKEYBASE}"
- "REDIS_URL=redis://redis:6379"
- "REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}"
- "BAILEYS_PROVIDER_DEFAULT_CLIENT_NAME=${BAILEYS_PROVIDER_DEFAULT_CLIENT_NAME:-Chatwoot}"
- "BAILEYS_PROVIDER_DEFAULT_URL=http://baileys-api:3025"
- "BAILEYS_PROVIDER_DEFAULT_API_KEY=${SERVICE_PASSWORD_64_DEFAULTAPIKEY}"
- BAILEYS_PROVIDER_USE_INTERNAL_HOST_URL=true
- "MAILER_SENDER_EMAIL=${MAILER_SENDER_EMAIL}"
- "RESEND_API_KEY=${RESEND_API_KEY}"
entrypoint: docker/entrypoints/rails.sh
command:
- bundle
- exec
- rails
- s
- "-p"
- "3000"
- "-b"
- 0.0.0.0
restart: always
post_start:
- command:
- sh
- "-c"
- 'bundle exec rails db:chatwoot_prepare && bundle exec rails branding:update && if [ -n "$${BRAND_ASSETS_URL}" ]; then deployment/extract_brand_assets.sh "$${BRAND_ASSETS_URL}"; fi'
healthcheck:
test:
- CMD-SHELL
- 'wget -qO- --header="Accept: text/html" http://127.0.0.1:3000/'
interval: 60s
timeout: 20s
retries: 10
sidekiq:
image: "harbor.fazer.ai/chatwoot/fazer-ai/chatwoot-pro:latest"
pull_policy: always
volumes:
- "rails-data:/app/storage"
depends_on:
- postgres
- redis
environment:
- NODE_ENV=production
- RAILS_ENV=production
- INSTALLATION_ENV=docker
- DEFAULT_LOCALE=pt_BR
- "FRONTEND_URL=${SERVICE_URL_RAILS}"
- "INTERNAL_HOST_URL=http://rails:3000"
- POSTGRES_HOST=postgres
- POSTGRES_PORT=5432
- "POSTGRES_USERNAME=${SERVICE_USER_POSTGRES}"
- "POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}"
- "POSTGRES_DATABASE=${POSTGRES_DB:-chatwoot}"
- "SECRET_KEY_BASE=${SERVICE_PASSWORD_64_SECRETKEYBASE}"
- "REDIS_URL=redis://redis:6379"
- "REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}"
- "BAILEYS_PROVIDER_DEFAULT_CLIENT_NAME=${BAILEYS_PROVIDER_DEFAULT_CLIENT_NAME:-Chatwoot}"
- "BAILEYS_PROVIDER_DEFAULT_URL=http://baileys-api:3025"
- "BAILEYS_PROVIDER_DEFAULT_API_KEY=${SERVICE_PASSWORD_64_DEFAULTAPIKEY}"
- BAILEYS_PROVIDER_USE_INTERNAL_HOST_URL=true
- "MAILER_SENDER_EMAIL=${MAILER_SENDER_EMAIL}"
- "RESEND_API_KEY=${RESEND_API_KEY}"
command:
- bundle
- exec
- sidekiq
- "-C"
- config/sidekiq.yml
restart: always
healthcheck:
test:
- CMD-SHELL
- "ps aux | grep [s]idekiq"
interval: 20s
timeout: 20s
retries: 10
postgres:
image: "ghcr.io/fazer-ai/postgres-16-pgvector:latest"
restart: always
volumes:
- "postgres:/var/lib/postgresql/data"
environment:
- "POSTGRES_DB=${POSTGRES_DB:-chatwoot}"
- "POSTGRES_USER=${SERVICE_USER_POSTGRES}"
- "POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}"
healthcheck:
test:
- CMD-SHELL
- "pg_isready -h localhost -p 5432 -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
interval: 20s
timeout: 20s
retries: 10
redis:
image: "redis:alpine"
restart: always
command:
- sh
- "-c"
- 'redis-server --requirepass "${SERVICE_PASSWORD_REDIS}"'
volumes:
- "redis:/data"
environment:
- "REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}"
healthcheck:
test:
- CMD-SHELL
- "redis-cli -h localhost -p 6379 -a $${REDIS_PASSWORD} ping"
interval: 20s
timeout: 20s
retries: 10
baileys-api:
image: "ghcr.io/fazer-ai/baileys-api:latest"
pull_policy: always
volumes:
- "storage:/app/storage"
environment:
- NODE_ENV=production
- "REDIS_URL=redis://redis:6379"
- "REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}"
- "LOG_LEVEL=${LOG_LEVEL:-debug}"
- "BAILEYS_LOG_LEVEL=${BAILEYS_LOG_LEVEL:-error}"
- "BAILEYS_PROVIDER_DEFAULT_API_KEY=${SERVICE_PASSWORD_64_DEFAULTAPIKEY}"
command:
- sh
- "-c"
- "bun manage-api-keys create user ${SERVICE_PASSWORD_64_DEFAULTAPIKEY} && bun start"
restart: always
healthcheck:
test:
- CMD-SHELL
- "wget -qO- http://localhost:3025/status"
interval: 20s
timeout: 20s
retries: 10
Open your Chatwoot Super Admin page and navigate to "Settings".
On the Settings page, copy the Installation Identifier. You will use this to register a new instance on the fazer.ai dashboard with the "Attach" button on your license.
After registering your instance, click "Refresh" on the fazer.ai subscription section in the Super Admin dashboard to validate your instance.
Go to the Accounts page, click "Edit" on an account you'd like to enable the new features for, scroll down and enable the features in the "fazer.ai Features" section. After clicking "Update Account", the new features will be available for the selected account.