mrkeyoor.com_
Wed 16 Sept 05:27 UTC
Self-Hostedevaluationupdated 26 Aug 2026

chatwoot review

Chatwoot is a customer-support inbox that brings website chat, email, social networks, messaging services, and help-center content into one agent workspace. It is the self-hosted option for teams that want an Intercom or Zendesk-style product while keeping control of customer conversation data.

+197stars / 7d
Verdict

Our Chatwoot run installed 1,058 packages in 46 seconds and passed its test command in 226 seconds, giving the measured JavaScript side a credible clean baseline. Choose it when several customer channels truly need one inbox and your team can operate the Rails, worker, database, cache, storage, and email stack. For email-only support, FreeScout is the more proportionate choice.

We ran it

Lab card: what happened when we ran chatwootScreenshot of chatwoot (www.chatwoot.com/help-center)
Install✓ · 46s1058 packages · 545 MB
Buildn/ano build script
Tests✓ · 226sran, no count parsed
Repo9067 files~509,836 lines of source · 95.7 MB · 16 CI workflows · tests dir

Answers from our run

Does chatwoot build from source?

Dependencies installed in 46 seconds (1058 packages), and the project has no separate build step. We cloned commit 6154aeb into a clean Debian container with 3 CPUs and no project-specific setup.

Do chatwoot's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use chatwoot?

Small teams that only need a shared support mailbox: Chatwoot's Rails server, workers, PostgreSQL, Redis, storage, and mail service create more operational work than a mailbox tool.

What are the alternatives to chatwoot?

Zammad, FreeScout, Erxes. Our Chatwoot run installed 1,058 packages in 46 seconds and passed its test command in 226 seconds, giving the measured JavaScript side a credible clean baseline.

Setup3/5Clean measured run, but production needs several persistent services
Docs5/5Clear deployment routes, architecture, configuration, and channel guides
Community5/5Daily development, current releases, and active issue handling
Maturity5/5Established support product with tagged releases and upgrade paths

Discussed on

  1. hnShow HN: Open-Source Alternative to Intercom, Drift, Zendesk, FreshChat417 points
  2. hnLaunch HN: Chatwoot (YC W21) – Open-Source Alternative to Intercom, Zendesk396 points
  3. hnShow HN: Open-Source Intercom with Help Center101 points
  4. hnShow HN: Open-Source Alternative to Intercom20 points
  5. hnAMA with Chatwoot Team13 points

Who it’s for

Support teams that need one queue for live chat, email, WhatsApp, Telegram, SMS, and social messages.
Organizations willing to operate a Rails application, workers, PostgreSQL, Redis, storage, email delivery, and backups.
Teams that want an MIT-licensed core and can check which desired functions belong to paid Enterprise editions.
Developers integrating support conversations with internal tools through APIs, dashboard apps, automations, or webhooks.

Who it’s NOT for

Small teams that only need a shared support mailbox: Chatwoot's Rails server, workers, PostgreSQL, Redis, storage, and mail service create more operational work than a mailbox tool.
Buyers assuming every advertised capability is in the open core: the v4.17.0 notes mark campaign outcome tracking, Captain controls, call transcription, and audit-log filtering as Enterprise features.
Operators who want to deploy the default branch as stable software: the README says develop is the base branch and directs stable users to master or version tags.
Teams unwilling to configure each external channel and its provider account: WhatsApp, Twilio, email, social networks, and translation services do not work from the source checkout alone.
Anyone expecting missing environment variables to fail harmlessly: the README warns that features may break when relevant variables are not set.

Setup reality

Our sandbox install succeeded in 46 seconds, adding 1,058 packages and using 545 MB on disk. The test command passed in 226 seconds. The repository exposed no build script or target to our harness, so the build step was skipped rather than failed.

A usable deployment is a larger Rails system. Chatwoot's architecture documentation lists web servers, workers, PostgreSQL, Redis, and an email service. The production Compose file also expects persistent storage and secrets, while each messaging channel needs its own provider setup and credentials.

The reviewed checkout contained 9,067 files, about 509,836 lines of source, and occupied 95.7 MB. It had 16 CI workflow files and a tests directory but no Dockerfile in the measured signal, even though the project publishes container images and includes a production Compose definition.

Chatwoot replaces several support inboxes with one queue

Chatwoot gathers website chat, email, Facebook, Instagram, X, WhatsApp, Telegram, Line, and SMS conversations into one support workspace. Agents can add private notes, mention teammates, apply labels, use canned replies, assign work, and filter conversations. Contacts keep interaction history and custom attributes, while the help center publishes articles and FAQs. The product is a credible open-source alternative to hosted customer-support suites because it covers the daily agent loop, not just a chat widget.

Breadth is both the reason to adopt it and the reason to avoid it for a tiny helpdesk. Our checkout contained 9,067 files and about 509,836 lines of source. Chatwoot includes reporting, contact segments, campaigns, automations, business hours, capacity management, multilingual support, and integrations with tools such as Slack, Shopify, Dialogflow, Linear, and Google Translate. If your whole requirement is two people answering one email address, much of this system becomes unused maintenance.

The inbox model fits organizations where a customer may start on web chat and continue through another channel. Shared context, assignments, internal notes, and reports are harder to recreate with separate provider dashboards. Chatwoot also keeps the customer record and conversation history under the operator's control. That benefit depends on configuring retention, access, backups, and deletion correctly; self-hosting changes who owns those jobs rather than making them disappear.

Production requires Rails, workers, PostgreSQL, Redis, and mail

The README offers Heroku and DigitalOcean buttons, while the maintained deployment documentation covers Docker, a Linux VM, Kubernetes, and cloud providers. Chatwoot's architecture lists web servers, background workers, PostgreSQL, Redis, and an email service. Its production Compose file adds persistent application storage and separates the Rails and Sidekiq processes. This is normal for a customer-support product, but it is materially more than starting one container.

Environment configuration controls the useful edges: the public URL, mail delivery, object storage, channel providers, authentication, and optional integrations. The README warns that relevant features can break when variables are omitted. External channels bring their own credentials, webhooks, account reviews, templates, and provider policies. A green local test cannot tell you whether a WhatsApp callback reaches the server or whether outbound support email passes authentication.

Stable deployment also means choosing the correct branch. The repository's default branch is develop, following its git-flow model. Chatwoot tells users who need a stable version to use master or a tagged release. That is a small line in the README with a large operational consequence: cloning the default branch for production puts unreleased work into a customer-facing communications system.

What happened when we ran it

Our sandbox install at commit 6154aeb succeeded in 46 seconds, pulling 1,058 packages and consuming 545 MB on disk. We ran it in a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node 22, and no secrets. The repository used pnpm. Installation was reasonably quick for the size of the front end, although the result is only the JavaScript dependency layer of a Rails application.

The test command passed in 226 seconds. Our measurement block did not include a case count, so the defensible claim is that the invoked command completed successfully. The harness found no build script or target and skipped that step; it did not record a build failure. The checkout had 16 CI workflow files and a tests directory.

No Dockerfile appeared in the measured repository signals, despite Chatwoot publishing container images and keeping a production Compose file. That distinction is worth preserving: users can deploy official images without the source tree containing a root Dockerfile detectable by our harness. The measured run supports a clean dependency and test result, not a complete production boot with PostgreSQL, Redis, mail, storage, and channel secrets.

Open core boundaries need a feature-by-feature check

The README presents Captain as an AI support agent and lists a wide set of customer-service features. Release v4.17.0 makes the commercial boundary more visible. Its notes mark WhatsApp campaign outcome tracking, several Captain controls, Twilio call transcription, and audit-log filtering as Enterprise functions. The release also includes open changes such as Freshdesk import, macros in the reply editor, canned-response search, and a Slovenian translation.

That split is legitimate, but buyers should map requirements before committing to self-hosting. The MIT-licensed repository may cover the core inbox while a desired governance or AI feature sits in a paid tier. Compare the edition matrix against concrete needs such as audit records, automation controls, and campaign reporting. Do not select an open-source helpdesk based on the longest feature list and discover the licensing boundary during rollout.

Current releases and daily work support a production shortlist

GitHub recorded a push on 2026-08-26, and v4.17.0 was published on 2026-08-20. Recent work covered email recipients, WhatsApp contacts and recordings, Twilio calls, help-center editing, automations, session cleanup, and CRM additions. The repository had 1,355 open issues and PRs, which is GitHub's combined count rather than 1,355 confirmed defects. The queue is large, while its newest entries match actively maintained product areas.

Chatwoot belongs on the shortlist for a support team consolidating several live channels and willing to run a serious web application. Our 46-second install and passing 226-second test command reduce concern about the measured checkout. They do not reduce the operational surface of customer messages, worker queues, provider webhooks, storage, and backups. Use the product for its channel breadth; avoid it when that breadth is unnecessary.

Alternatives

ProjectWhat it isPick it when
ZammadA self-hosted helpdesk centered on tickets, email, phone, chat, and service workflows.pick this instead when traditional ticket management and service-desk operations matter more than Chatwoot's messaging-first inbox.
FreeScoutA lightweight self-hosted shared mailbox and helpdesk built around email support.pick this instead when a small team mainly needs a shared email inbox and wants a simpler server to maintain.
ErxesAn open-source customer-experience platform spanning messaging, sales, marketing, and service tools.pick this instead when support is one part of a broader self-hosted sales and marketing system.

What people are saying

  1. [github-trending] chatwoot/chatwoot

Sources

  1. Chatwoot README
  2. Chatwoot v4.17.0 release
  3. Chatwoot deployment architecture
  4. Chatwoot environment variables
  5. Reviewed commit 6154aeb
  6. Chatwoot issues and pull requests

More self-hosted reviews

newsnow · forem · octo-server · runtime · openfang · SparkyFitness · the whole board →