How to Install Chatwoot on Debian 11

Updated on February 18, 2022
How to Install Chatwoot on Debian 11 header image

Chatwoot is an open-source customer support application that offers productive and efficient customer experiences across real-time messaging channels. It supports social media, email, and website integrations to handle customer engagements in a centralized dashboard.

In this article, you will learn how to install Chatwoot on a Debian 11 server.

Prerequisites

A 2GB RAM server can handle over 5000 conversations per day. You can scale your server as your needs grow.

Configure Firewall

To avoid installation time errors, open the necessary firewall ports for Chatwoot to make the required Nginx and SSL configurations.

Allow HTTP connections.

# ufw allow in http

Allow HTTPS network connections.

# ufw allow in https

Then, restart the firewall.

# ufw reload

Install and Configure Chatwoot

Download the Chatwoot installation script.

# wget https://raw.githubusercontent.com/chatwoot/chatwoot/master/deployment/setup_20.04.sh -O chatwoot.sh

Make the script executable.

# chmod +x chatwoot.sh

Run the script to Install Chatwoot.

# ./chatwoot.sh

You may receive the following prompt:

Would you like to configure a domain and SSL for Chatwoot?(yes or no):

Enter yes to set up your domain name and allow Chatwoot to configure Nginx as a reverse proxy server automatically.

You will also be prompted to install Postgres and Redis server, reply yes to set up the services on your server, or no if you plan to set up an external database server.

The script will install Nginx and all necessary dependencies in about 10 to 15minutes. Once complete, your output should be similar to:

***************************************************************************
Woot! Woot!! Chatwoot server installation is complete
The server will be accessible at https://chatwoot.example.com
***************************************************************************

Verify the Chatwoot service status using the following command:

# systemctl status chatwoot.target

Output:

● chatwoot.target
     Loaded: loaded (/etc/systemd/system/chatwoot.target; enabled; vendor preset: enabled)
     Active: active since Tue 2022-02-01 22:21:07 UTC; 2min 18s ago

Feb 01 22:21:07 Example systemd[1]: Reached target chatwoot.target.

Also, verify that Chatwoot is listening on port 3000.

# ss -antpl | grep 3000

Now, through a web browser, visit your Chatwoot domain URL to create an administrative user account, and set up your application.

https://chatwoot.example.com

Chatwoot Team Conversations Dashboard

To make changes to your base server configuration, change to the Chatwoot user home directory.

# cd /home/chatwoot/chatwoot/

Then, make changes to the .env file. (pre-configured by the installation script).

# nano .env

Among the changes you can make, you can assign a new Postgres database name and attach external storage like Vultr block and object storage instances.

# Storage
ACTIVE_STORAGE_SERVICE=local

# Postgres Database config variables
POSTGRES_HOST=localhost
POSTGRES_USERNAME=
POSTGRES_PASSWORD=
RAILS_ENV=production
RAILS_MAX_THREADS=5

Save and close the file.

Restart Chatwoot for changes to take effect.

# systemctl restart chatwoot.target

Conclusion

Congratulations, you have successfully installed Chatwoot on a Debian 11 server. You can link multiple social media account contacts, invite team members, share messages, among other functions. For more configuration options, visit the self-hosted Chatwoot documentation page.