isotropic-2022
Share
Blog
Search
Menu

How To Install Chatwoot To A DigitalOcean Droplet

By James LePage
 on May 11, 2020
Last modified on January 7th, 2022

How To Install Chatwoot To A DigitalOcean Droplet

By James LePage
 on May 11, 2020
Last modified on January 7th, 2022

Intro

Chatwoot is an open source alternative to popular live chat software as a service offerings. Because it's open source, it's free if you install it and host it yourself. You can choose to pay the company $49 to $99 a month for the same features, with managed hosting and support.

This article is going to walk you through the installation process of Chatwoot to a DigitalOcean Droplet. As part of a partnership with DigitalOcean, Isotropic is giving $100 in free credit to anybody who wants it. Simply click any link to DigitalOcean on our website, and the credit will be applied to your account when you sign up.

The reason we chose DigitalOcean for this project is due to the simplicity of installing a Docker & Ubuntu framework on to a server (or “droplet” as they call it). They're also pretty cheap, and because Chatwoot is not super resource-intensive, we can use the cheapest offering they have.

What’s Chatwoot?

Chatwoot is high-powered live chat software with a host of backend tools that make communication with customers & clients easier and quicker.

It supports rich content types message like cards, forms and carousel to provide great customer support experiences

We feel that this is the perfect solution for small businesses that are looking to incorporate live chat into their website for almost no monthly cost.  And, as this is a new product, it can only get better.

If you would like to learn more about this offering and compare it to other providers like Tidio or Live Chatread this blog post.

Let's Get Started

The main resources that will be using in this project are the Chatwoot Github, user documentation and Ubuntu installation guide. The services that we will need are a DigitalOcean droplet to host the Chatwoot back-end and a PaaS offering called CapRover.

CapRover is basically a platform that allows you to deploy applications onto DigitalOcean or Vultur automatically. According to their website it’s the “Easiest app/database deployment platform and webserver package for your NodeJS, Python, PHP, Ruby, Go applications. No Docker, nginx knowledge required!”.

Because we don't need that many resources for Chatwoot, we're going to go with the 1GB memory, 25 GB of storage droplet on DigitalOcean, which costs $5/month. You can go even cheaper if you choose another cloud provider like Vultr.com (their cheapest is $2/month). Like DigitalOcean, we’ll give you a $100 to test out the Vultr platform. 

The reason we chose Digital Ocean over Vultr is because we're more familiar with it, and CapRover plays nicer with it. However, the actual process apart from setting up the hosting is pretty similar for both, meaning you can use this tutorial no matter what host you're going with.

Setup The Hosting

On DigitalOcean, we create a new project where we will host our installation.

Then, we setup the Droplet. We're opting for the cheapest plan.

Under the marketplace tab, select CapRover as your image. For your plan, select standard and then go for the $5 a month one. You don't need to add block storage, and for the location select the one that is closest to where the majority of your customers are located. Because we are a digital agency based on the East Coast, we selected New York. 

Configure CapRover

We kept all other settings default and created the droplet. Once created, go to the port 3000 of your public ipv4 address, xxx.xxx.xxx.xxx:3000, in your browser. Login with the default password, "captain42".

Now you're in the dashboard of the CapRover user interface. This is where you will install Chatwoot automatically. First, make sure you have the most up to date version. If you don't, click the "Update Available" link in the top bar.

In the most up to date version, go to the Apps tab, then click "One-Click Apps/Databases".

Now search for "Chatwoot". Click on it.

Now, enter all needed info into the input fields. We used this tool to generate our random strings.

The one click install will then install Chatwoot (in one click).

It took us about 2 minutes to run the installer. When complete, click finish. You should then see the following four apps.

Domain

Once installed, we need to setup our domains. Do that by pointing a subdomain to the installation via an A record. In our example, our domain is livechat.domain.com. We pointed livechat and anything that comes before it (*.livechat, wildcard domain) to our installation.

The greyed out fields are the ipv4 address of our DigitalOcean droplet.

Once pointed, enter your base subdomain into the "CapRover Root Domain Configurations" and click update domain. Then click Enable HTTPS and enter your email.

Now (if everything is configured correctly), if you click the link icon in the appname-web application, Your instance of Chatwoot open. If it does, congratulations you have successfully installed a Chatwoot to your server! Now it's time to configure everything.

Configure Mail

Before doing anything, we need to configure the SMTP email system. We'll use Sendinblue as our provider -- as an agency we have used them for years and they work well. You also get 300 transactional emails per day for free, which is perfect for small businesses.

With this service, if you don't bounce your emails or abuse the platform, your quote increases. For example, we have access to 999 transactional emails per day, completely free.

To set this up, head back to your CapRover dashboard. Go to apps and click on the -web app. Then, go to the app configs tab:

Add the following four variables:

Click save. Do the same process for the -worker app as well.

Now set the base url. Add the following to both the -web and -worker apps under apps --> app configs:

So the five variables you need to set under BOTH the -web and -worker apps are the following:

MAILER_SENDER_EMAIL=
SMTP_ADDRESS=
SMTP_USERNAME=
SMTP_PASSWORD=
FRONTEND_URL=

These are entered without the equals. You can also set up Facebook, SMS and Twitter integrations. Learn more in the Chatwoot Docs.

Now your emails are working.

The last thing to do with CapRover is to set Websocket Support to true for the -web application. Do this in HTTP settings tab.

Go back to your base installation and click "Create a new account". Follow the on screen instructions, and you've got yourself a fully functional installation of Chatwoot on DigitalOcean!

Enter the account info and check your email for a confirmation email. Set your password, and your account is ready to be used.

In the future, if you need to update the installation, follow these directions:

Run the following command in deployment tab for for web and worker : method 5 : deploy captain -definition

## for chatwoot-web

{
     "schemaVersion": 2,
     "dockerfileLines": [
                    "FROM chatwoot/chatwoot:latest",
                    "RUN chmod +x docker/entrypoints/rails.sh",
                    "ENTRYPOINT [\"docker/entrypoints/rails.sh\"]",
                     "CMD bundle exec rake db:setup; bundle exec rake db:migrate; bundle exec rails s -b 0.0.0.0 -p 3000" ]
}Code language: JSON / JSON with Comments (json)

# for chatwoot worker

{
     "schemaVersion": 2,
     "dockerfileLines": [
                    "FROM chatwoot/chatwoot:latest",
                    "RUN chmod +x docker/entrypoints/rails.sh",
                    "ENTRYPOINT [\"docker/entrypoints/rails.sh\"]",
                     "CMD bundle exec sidekiq -C config/sidekiq.yml" ]
}Code language: JSON / JSON with Comments (json)

Enjoy Chatwoot!

Subscribe & Share
If you liked this content, subscribe for our monthly roundup of WordPress news, website inspiration, exclusive deals and interesting articles.
Unsubscribe at any time. We do not spam and will never sell or share your email.
Article By
James LePage
Contributors/Editors
notloggedin
James LePage is the founder of Isotropic, a WordPress education company and digital agency. He is also the founder of CodeWP.ai, a venture backed startup bringing AI to WordPress creators.
We're looking for new authors. Explore Isotropic Jobs.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram