Chatwoot 全渠道客服自建部署教程

字数1084阅读约 3 分钟访问--

Chatwoot 全渠道客服

**Chatwoot** 是一款开源的全渠道客户沟通平台,被广泛用作 IntercomZendesk 等商业客服系统的免费替代方案。它能将网站、社交媒体、邮件等多个沟通渠道的消息汇聚到同一个收件箱中,让客服团队能够高效地在一个后台与客户互动。

以下是 Chatwoot 的核心亮点与功能:

核心功能

  • 全渠道集成:支持网页实时聊天、Facebook Messenger、Instagram、WhatsApp、Telegram、Twitter、LINE 以及电子邮件等多种沟通方式。
  • 内置 AI 助手:支持集成大语言模型,能自动回复常见问题、总结对话内容,大幅减轻人工客服的压力。
  • 多品牌收件箱:允许企业在一个后台管理多个不同品牌或业务的客服渠道。
  • 强大的团队协作:支持给客服分配任务、设置私密笔记(仅限内部员工查看),以及使用标签和状态整理会话。
  • 专属帮助中心:内置知识库(FAQ)功能,支持客户自助查询问题,减少重复咨询。
  • 自动化工作流:支持创建自动化规则,如根据关键词自动分配对话给指定客服或触发欢迎语。

部署方式与多端支持

  • 灵活部署:提供云服务版本(SaaS)以及开源自建版本,企业可将系统部署在自己的私有服务器上,确保数据隐私与安全。
  • 移动端 App:提供完善的 iOSAndroid 客户端,方便客服人员外出时也能随时随地回复客户信息。

部署方式

当前使用 Docker Compose 部署,Chatwoot 官方文档也推荐这种路线:Docker Chatwoot Production deployment guide

  • 部署前的准备
    1. 确认服务器系统、资源、端口、域名解析。
    2. 安装 Docker / Docker Compose。
    3. 下载 Chatwoot 生产部署文件。
    4. 配置 .env、PostgreSQL、Redis、站点域名、邮件 SMTP。
    5. 初始化数据库。
    6. 启动 Chatwoot 服务。
    7. 配置 Nginx 反向代理。
    8. 配置 HTTPS 证书。
    9. 登录 Chatwoot,创建网站 Inbox。

安装 Docker

命令:

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
 
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
 
sudo apt-get install -y docker-compose-plugin
 
sudo systemctl enable docker
sudo systemctl start docker
 
docker --version
docker compose version

创建 Chatwoot 部署目录并下载文件

命令:

sudo mkdir -p /opt/chatwoot
sudo chown -R $USER:$USER /opt/chatwoot
cd /opt/chatwoot
 
wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
 
ls -la

配置 Chatwoot 基础环境变量

这一步先只配置能启动服务的必要项:域名、密钥、数据库密码、Redis 密码、生产环境。SMTP 邮件后面单独配置。

命令:

cd /opt/chatwoot
 
cp .env ".env.bak.$(date +%F-%H%M%S)"
cp docker-compose.yaml "docker-compose.yaml.bak.$(date +%F-%H%M%S)"
 
SECRET_KEY_BASE=$(openssl rand -hex 64)
POSTGRES_PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
REDIS_PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
 
sed -i "s|^SECRET_KEY_BASE=.*|SECRET_KEY_BASE=$SECRET_KEY_BASE|" .env
sed -i "s|^FRONTEND_URL=.*|FRONTEND_URL=https://chat.example.com|" .env
sed -i "s|^FORCE_SSL=.*|FORCE_SSL=true|" .env
sed -i "s|^ENABLE_ACCOUNT_SIGNUP=.*|ENABLE_ACCOUNT_SIGNUP=true|" .env
sed -i "s|^REDIS_PASSWORD=.*|REDIS_PASSWORD=$REDIS_PASSWORD|" .env
sed -i "s|^POSTGRES_PASSWORD=.*|POSTGRES_PASSWORD=$POSTGRES_PASSWORD|" .env
sed -i "s|^RAILS_ENV=.*|RAILS_ENV=production|" .env
sed -i "s|^MAILER_SENDER_EMAIL=.*|MAILER_SENDER_EMAIL=Chatwoot <[email protected]>|" .env
 
sed -i "s|POSTGRES_PASSWORD=$|POSTGRES_PASSWORD=$POSTGRES_PASSWORD|" docker-compose.yaml

拉取镜像并初始化数据库。

cd /opt/chatwoot
 
sudo docker compose pull
sudo docker compose run --rm rails bundle exec rails db:chatwoot_prepare

如果看到类似数据库创建、迁移、seed 完成的信息,就是正常的。

启动 Chatwoot

cd /opt/chatwoot
 
sudo docker compose up -d
sudo docker compose ps

然后本机检查 Chatwoot API:

curl -I http://127.0.0.1:3000/api

域名反代

一切正常后,最后做域名反向代理,可以使用 Nginx Proxy Manager 或其它。

完成 Chatwoot 初始化

在用浏览器打开:chat.example.com

按页面引导创建第一个管理员账号。

公司/站点名:example 或你的业务名 管理员邮箱:你的真实邮箱 密码:强密码

创建 Website Inbox

请在 Chatwoot 后台操作:

  1. 打开 `https://chat.example.com
  2. 左侧进入 Settings / 设置
  3. 进入 Inboxes / 收件箱
  4. 点击 Add Inbox
  5. 选择 Website
  6. 填写:
    • Website name:国际空间站
    • Website domain:例如当前项目正式访问域名
    • Widget color:按你品牌色设置
    • Welcome heading:某某客服
    • Welcome tagline:您好,请描述您遇到的问题,我们会尽快协助处理。
  7. 保存后,Chatwoot 会给你一段网页嵌入代码。

image-20260612134859136