Skip to main content

Ubuntu Development Setup

This guide will help you set up your Ubuntu development environment for contributing to Chatwoot. These instructions work for Ubuntu 20.04, 22.04, and newer versions.

Update System Packages

Open a terminal and run the following commands to update your system packages:

Install Git

Install Git for version control:
Configure Git with your information:
Verify Git installation:

Install RVM

You need software-properties-common installed in order to add PPA repositories:
Install RVM (Ruby Version Manager):
Important: Enable Run command as a login shell in terminal Preferences. Restart your computer after installation.

Install Ruby

Chatwoot APIs are built on Ruby on Rails. You need to install Ruby 3.3.3:
Use Ruby 3.3.3 as default:
Verify Ruby installation:

Install Node.js

Chatwoot requires Node.js version 20. Install Node.js from NodeSource using the following commands:
Verify Node.js installation:

Install pnpm

We use pnpm as the package manager:
Verify pnpm installation:

Install PostgreSQL

The database used in Chatwoot is PostgreSQL. Use the following commands to install PostgreSQL:
The installation procedure creates a user account called postgres that is associated with the default Postgres role. In order to use Postgres, you can log into that account:
Install libpq-dev dependencies for Ubuntu:
Verify PostgreSQL installation:

Install Redis Server

Chatwoot uses Redis server in agent assignments and reporting. You need to install redis-server:
Next, enable Redis to start on system boot:
Verify Redis installation:

Install ImageMagick

Install ImageMagick for image processing:
Verify ImageMagick installation:

Troubleshooting Common Issues

Solution: Ensure you have restarted your computer and enabled “Run command as a login shell”:
Solution: Install missing dependencies:
Solution: Configure PostgreSQL user and database:
Solution: Clear cache and reinstall:
Solution: Fix ownership of common directories:

Getting Help

If you encounter issues:
Your Ubuntu development environment is now ready for Chatwoot development! 🐧