💬 Setup Chatwoot
Deploy Chatwoot open-source customer support on Ubuntu — omnichannel inbox for email, chat, and WhatsApp.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/chatwoot/chatwoot-ubuntu.sh
chmod +x chatwoot-ubuntu.sh
sudo bash chatwoot-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/chatwoot/chatwoot-ubuntu.sh
2 Make it Executable
chmod +x chatwoot-ubuntu.sh
3 Run the Installer
The script installs Docker, then deploys Chatwoot with PostgreSQL and Redis automatically.
sudo bash chatwoot-ubuntu.sh
4 Access the Web UI
Open your browser and navigate to:
http://<your-server-ip>:3000
5 Create Admin and Inbox
Complete the setup wizard, create your admin account, then add your first inbox — email, live chat, or API channel.
Ports Used
| Port | Purpose |
|---|---|
| 3000 | Chatwoot Web UI |
| 5432 | PostgreSQL (internal) |
| 6379 | Redis (internal) |
Overview
Chatwoot is an open-source customer support and live-chat platform that brings all your customer conversations — email, live chat, Twitter, WhatsApp, and more — into a single shared inbox. Self-hosting eliminates per-agent costs and gives your team complete data sovereignty.
Why Use It
Chatwoot consolidates all customer communication channels into one inbox — live chat, email, WhatsApp, Facebook, Twitter, and more. Instead of switching between tools, your support team sees every conversation in one place with full history, labels, and assignment. It's the self-hosted alternative to Intercom and Zendesk — without the per-seat pricing.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
Port 3000 for the web UI. PostgreSQL on 5432 and Redis on 6379 are internal only. Use a reverse proxy (Nginx Proxy Manager) on port 443 pointing to 3000. Never expose 3000 directly to the internet without TLS.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
Direct alternatives: Rocket.Chat (broader team chat + support), Papercups (simpler, lightweight), Zammad (ticket-focused). Cloud: Intercom (best UX but expensive), Zendesk (enterprise), Freshdesk (SMB-friendly).
When Not to Use It
Don't use Chatwoot if you need a simple internal team chat — it's designed for customer-facing support, not team collaboration. For internal comms, use Mattermost or Zulip. And if you only need basic contact form handling, a simple email alias is far lighter.
PrismaTechWork Professional Help
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Frequently Asked Questions
Can I connect WhatsApp to Chatwoot?
Yes — via the WhatsApp Cloud API (Meta Business account required) or via a third-party bridge like Baileys. The Cloud API is the official supported method and requires a verified Meta business.
Can multiple agents work on the same inbox?
Yes — conversations can be assigned to specific agents or left in the team queue. Chatwoot shows when a colleague is viewing or replying to a conversation to prevent duplicate responses.
Does Chatwoot have a mobile app?
Yes — native iOS and Android apps are available. They support push notifications for new conversations and replies.
How do I add a live chat widget to my website?
Go to Settings → Inboxes → Add Inbox → Website. Copy the generated JavaScript snippet and paste it into your website's `<head>`. The widget appears on all pages with that snippet.
Can I set up automatic responses and routing?
Yes — Chatwoot Automation lets you create rules like 'if new conversation from email inbox, assign to email team and add label urgent'. Trigger conditions include channel, content keywords, time, and more.
Does Chatwoot support multiple languages?
The Chatwoot UI supports 30+ languages. Your chat widget language can be set per-inbox. Customer-facing messages are in whatever language your agents write — there's no built-in translation.
How do I scale Chatwoot for high traffic?
Run multiple Puma (Rails) web workers and multiple Sidekiq workers as separate containers. Use a dedicated PostgreSQL server with connection pooling (PgBouncer). Redis should be separate and persistent.
How do I upgrade Chatwoot?
Run `docker compose pull && docker compose up -d`. Chatwoot runs Rails migrations on startup. Back up PostgreSQL before any upgrade. Check the Chatwoot changelog — some upgrades need manual env variable changes.