Chatwoot is an open-source customer communication and support platform that provides a self-hosted solution. This tutorial will guide you through the process of installing Chatwoot on a Fedora Server.
Before starting, make sure that you have the following prerequisites:
Update the Fedora Server package manager and install the dependencies required for Chatwoot.
sudo dnf update
sudo dnf install -y epel-release git postgresql-server postgresql-contrib redis npm
Chatwoot requires Node.js 10 or later to run. Install Node.js using the following command.
sudo dnf install -y nodejs
Yarn is a package manager used to manage Node.js modules. Run the following command to install Yarn.
npm install -g yarn
Clone the Chatwoot source code from the official repository on your server.
git clone https://github.com/chatwoot/chatwoot.git
Navigate to the cloned directory and install the dependencies.
cd chatwoot
yarn install
Start and enable the PostgreSQL service.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Create a new PostgreSQL user and database for Chatwoot.
sudo -i -u postgres
psql
CREATE USER chatwoot WITH PASSWORD 'password';
CREATE DATABASE chatwoot_production OWNER chatwoot;
Grant all privileges on the database to the user.
GRANT ALL PRIVILEGES ON DATABASE chatwoot_production TO chatwoot;
Chatwoot requires file uploads to be stored on the server. Create a directory to store uploaded files.
sudo mkdir -p /opt/chatwoot/public/uploads
sudo chown -R $USER:$USER /opt/chatwoot
Copy the sample environment variables file to .env
.
cp .env.example .env
Edit the .env
file and modify the following variables.
DATABASE_URL=postgresql://chatwoot:password@localhost:5432/chatwoot_production
RAILS_ENV=production
RAILS_SERVE_STATIC_FILES=true
APP_DOMAIN=example.com # change to your domain name or subdomain
Compile the assets and migrate the database schema.
bundle exec rails assets:precompile
bundle exec rails db:create db:migrate
Start the Chatwoot server using the following command.
bundle exec rails server -e production
Finally, access your Chatwoot instance by visiting your domain name or subdomain in your web browser.
Congratulations, you have successfully installed Chatwoot on your Fedora Server. You can now use Chatwoot to manage and communicate with your customers.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!