Ubuntu Development Setup
Complete guide to setting up your Ubuntu development environment for Chatwoot contribution.
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
Getting Help
If you encounter issues:
- Common Errors: Check Common Errors
- Discord Community: Join our Discord
- GitHub Issues: Create an issue
- Ubuntu Community: Ubuntu Forums
Your Ubuntu development environment is now ready for Chatwoot development! 🐧