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