Self-hosted Chatwoot: WhatsApp/Telegram CRM like Intercom

calendar_month May 08, 2026 schedule 7 min read visibility 16 views
person
Valebyte Team
Self-hosted Chatwoot: WhatsApp/Telegram CRM like Intercom

To create a full-featured customer support center with WhatsApp, Telegram, and Live-chat integration, it is optimal to use chatwoot self hosted on a dedicated server or VPS with specs starting from 4 GB RAM and 2 vCPU. This setup allows you to handle requests from 1000+ monthly active users (MAU) at a fixed cost of around $13/month, completely replacing paid Intercom or Zendesk subscriptions that cost anywhere from $100-300/month.

Why chatwoot self hosted is the best intercom alternative for business

Moving to your own infrastructure for message processing is driven not only by savings but also by full control over customer data. Unlike SaaS platforms, where costs grow proportionally to the number of agents or active dialogues, a helpdesk selfhost solution allows you to scale your team without increasing monthly payments to the software provider.

Economic efficiency and scaling

The cloud version of Chatwoot starts at $19 per agent per month. If your team has 10 people, the budget would be $190/month. Deploying a chatwoot vps costs only the server rental fee. On a Valebyte plan for $13-15, you get enough resources for 15-20 agents to work simultaneously. Meanwhile, the number of dialogues is limited only by CPU power and RAM, not by artificial pricing plan limits.

Security and GDPR compliance

When you use third-party CRMs, your customer correspondence is stored on third-party servers. For companies in the financial, medical, or legal sectors, this is a critical risk. A self-hosted installation guarantees that the PostgreSQL and Redis databases remain within your perimeter. You can configure disk encryption and strict access rules via VPN or SSH keys. For secure storage of API keys for WhatsApp and Telegram, we recommend using self-hosted Bitwarden/Vaultwarden to prevent credential leaks within the team.

Technical requirements and Chatwoot VPS selection

Chatwoot is built on a stack of Ruby on Rails, Vue.js, PostgreSQL, and Redis. It is a powerful but resource-intensive system. For stable operation of Sidekiq (the background task processor) and correct rendering of the agent interface, it is necessary to avoid resource "overselling."

Minimum and recommended server specifications

Running on 2 GB RAM is possible, but as the message queue in Redis grows, the system will start using swap, leading to delays in agents receiving notifications. We recommend the following parameters for different load levels:

Parameter Minimal (Start-up) Recommended (Growth) High Load (Enterprise)
CPU Cores 2 vCPU 4 vCPU 8+ vCPU
RAM 4 GB 8 GB 16+ GB
Disk (NVMe) 40 GB 80 GB 160+ GB
Agents Up to 5 Up to 25 Unlimited
Approx. VPS Price $13 - $18 $25 - $35 $60+

Database and caching optimization

To speed up message history searches, it is important to use fast NVMe disks. PostgreSQL is sensitive to input/output operations (IOPS). If you plan to store gigabytes of screenshots and videos from customers, it is better to connect external S3-compatible storage or deploy self-hosted Nextcloud for file management, although Chatwoot handles local storage perfectly well if space is available.

Looking for a reliable server for your projects?

VPS from $10/mo and dedicated servers from $9/mo with NVMe, DDoS protection, and 24/7 support.

View Offers →

Step-by-step Chatwoot installation on your server

The fastest and most reliable way to deploy chatwoot self hosted is by using the official installation script for Ubuntu 20.04/22.04 LTS or Docker-compose. We will look at the script method, as it automatically configures SSL (Let's Encrypt), Nginx, and all necessary dependencies.

System preparation

Before starting, ensure that your domain (e.g., crm.yourcompany.com) points to your VPS IP address. Update packages and install curl:

sudo apt update && sudo apt upgrade -y
sudo apt install curl -y

Running the installer

Execute the command to download and run the script. During the process, you will need to enter the domain name and an email for SSL certificate registration:

wget https://get.chatwoot.app/setup.sh
chmod +x setup.sh
sudo ./setup.sh master

The script will perform the following actions:

  • Install Ruby, Node.js, and Yarn.
  • Configure PostgreSQL and Redis.
  • Configure Nginx as a reverse proxy.
  • Create system services for automatic Chatwoot startup after a server reboot.

Configuring environment variables (.env)

After installation, you need to configure SMTP for sending notifications and integration parameters. The configuration file is usually located at /home/chatwoot/chatwoot/.env. Be sure to enter your mail server details; otherwise, agents won't be able to reset passwords or receive alerts about new tickets.

# SMTP configuration example
SMTP_ADDRESS=smtp.yourserver.com
SMTP_AUTHENTICATION=plain
SMTP_DOMAIN=yourcompany.com
SMTP_ENABLE_STARTTLS_AUTO=true
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your_secure_password

Setting up omnichannel: WhatsApp, Telegram, and Instagram

The main value of Chatwoot is combining all communication channels into a single window. This allows you to create your own whatsapp crm without paying expensive intermediaries for every message.

WhatsApp Business API (WABA) integration

Chatwoot supports the official WhatsApp Business Cloud API from Meta. This is free for up to 1000 inbound conversations per month (user-initiated). To set it up, you will need a Facebook Developer Console account.

  1. Create a "Business" application.
  2. Add the "WhatsApp" product.
  3. Get a Temporary Access Token (later replace it with a Permanent one).
  4. Copy the Phone Number ID and WhatsApp Business Account ID into the channel settings in Chatwoot.
If you need automated WhatsApp responses based on AI, you can integrate the system with a self-hosted ChatGPT alternative via webhooks, allowing the bot to answer typical customer questions 24/7.

Connecting Telegram and Instagram

For Telegram, the process takes 2 minutes: create a bot via @BotFather, get the token, and paste it into Chatwoot. All messages sent to the bot will instantly appear in the agent panel. Instagram integration requires a Facebook Business account linked to an Instagram page. Chatwoot supports Direct Messages and post comments.

Automation and analytics in Chatwoot

Simply responding to messages is not enough for an effective helpdesk selfhost. Chatwoot allows you to automate routines using Automation Rules and macros.

Using webhooks and n8n

For complex scenarios, such as creating a lead in a third-party database when a message is received, the Chatwoot + n8n combination is ideal. You can set up data transfer for every new dialogue to self-hosted n8n, where a visual editor allows you to build logic of any complexity: from checking order status to integration with 1C or other ERP systems.

Analytics and performance tracking

Chatwoot provides built-in reports on CSAT (customer satisfaction), first response time, and average resolution time. If you require deeper analysis of user behavior on the site before they message the chat, we recommend using self-hosted analytics (PostHog or Umami). Integrating user IDs between PostHog and Chatwoot will allow the agent to see which pages the customer visited before reaching out.

Cost comparison: Self-hosted vs SaaS solutions

Many companies underestimate the hidden costs of cloud CRMs. Intercom, for example, introduced a complex pricing system "per unique user you talked to in a month." In Chatwoot self-hosted, your costs are fixed.

Criterion Intercom (SaaS) Zendesk (SaaS) Chatwoot (Self-hosted)
Base Price From $74/mo From $55/agent $0 (Open Source)
Price per Agent Additional fee Included in base Free (unlimited)
WhatsApp Integration Paid addon Only in high-tier plans Free (Cloud API)
Data Storage USA/EU servers Provider's servers Your VPS (any location)
Total for 10 Agents ~$400 - $600/mo ~$550/mo ~$13 - $25/mo (for VPS)

The cost difference becomes massive as the business scales. Saved funds can be directed toward improving service quality or renting a more powerful chatwoot vps to implement AI assistants.

Security and system maintenance

Operating chatwoot self hosted requires minimal administrative attention, but basic rules should not be neglected. Since the CRM stores personal data and correspondence, the server must be protected.

Regular updates and backups

Chatwoot developers release updates every 2-4 weeks. The update process boils down to executing a few commands. Always take a snapshot of your VPS before every update. To automate PostgreSQL database backups, use simple scripts that upload dumps to S3 or another server.

# Update command example (for script-based version)
sudo -i -u chatwoot
cd chatwoot
git checkout master && git pull
bundle install
rake db:migrate
RAILS_ENV=production bundle exec rake assets:precompile
exit
sudo systemctl restart chatwoot.target

Error monitoring

If chat issues occur (e.g., messages aren't sending), you need to know about it promptly. To track errors in Ruby and JavaScript code on the server side, self-hosted Sentry is an excellent fit. This allows your developers to see the call stack and the reason for Sidekiq background task failures without manually digging through logs.

Conclusion

Using chatwoot self hosted on a VPS is the most rational way to build a modern omnichannel helpdesk without vendor lock-in or hidden fees. To start, a server with 4 GB RAM for $13-15/month is sufficient, providing full data privacy and an unlimited number of agents. We recommend starting with an installation via Docker or the official script, immediately setting up WhatsApp Cloud API integration for direct communication with customers.

Ready to choose a server?

VPS and dedicated servers in 72+ countries with instant activation and full root access.

Start Now →

Share this post:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.