十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

绿联 NAS 部署 Chatwoot:自托管在线客服并接入网站聊天组件

绿联 NAS 部署 Chatwoot:自托管在线客服并接入网站聊天组件 前言网站上线以后如果希望用户能够直接咨询最常见的方式就是在页面右下角增加一个在线客服入口。除了使用现成的 SaaS 客服平台也可以把客服后台部署在自己的服务器或 NAS 中再把聊天组件嵌入现有网站。Chatwoot 是一套面向此类场景的开源全渠道客服系统支持网站聊天、邮件工单、客服坐席、会话分配、客户资料和知识库等功能使用自托管社区版Community Edition核心客服系统可以运行在自己维护的基础设施中。本文将在绿联 NAS 上基于 Docker 部署 Chatwoot完成管理员账号与 SMTP 邮件服务配置再通过内网穿透工具建立 HTTPS 公网入口。完成部署后在后台创建 Website 收件箱获取 JavaScript 聊天组件并嵌入网页完成访客咨询与客服后台双向通信的全链路联调测试。1. Chatwoot 简介Chatwoot是一款基于Ruby on Rails Vue.js开发的开源全渠道客服系统旨在实现多渠道客户消息的集中统一管理。核心特性多渠道接入支持网页实时聊天Web Widget、邮件、以及通过 Webhook 对接各大主流社交与通讯平台。团队协作与工单管理支持内部备注Private Notes、坐席分配、会话转接与团队流转。客户画像与数据分析记录访客信息与历史对话提供响应时间与 CSAT 满意度统计报表。多端覆盖提供 Web 端、移动端iOS / Android及 PWA 支持便于多设备协同办公。说明自托管 Community Edition 涵盖了在线客服与多坐席协同等基础能力。Captain AI 等部分高级功能需参照官方最新方案确认。2. 部署 Chatwoot本教程以绿联 NASUGOS 系统为例进行演示其他支持 Docker 和 SSH 连接的 Linux 服务器或 NAS 设备操作步骤基本一致。2.1 开启 SSH 远程登录打开绿联 NAS控制面板点击进入终端机设置勾选开启 SSH 功能并点击应用注建议使用强密码打开本地电脑终端如 Windows PowerShell 或 macOS Terminal连接 NAS# ssh 用户名NAS局域网IPsshsusu192.168.50.99切换至 root 用户sudo-i2.2 执行部署与环境配置在终端中执行部署脚本curl-fsSLhttps://gitee.com/jun-wan/script/raw/master/chatwoot_docker/deploy.sh-o/tmp/chatwoot-deploy.shchmodx /tmp/chatwoot-deploy.sh/tmp/chatwoot-deploy.sh关键参数配置安装目录配置持久化安装路径或直接回车使用默认目录访问端口与地址选择访问方式例如输入 IP 地址或提前准备好的公网域名SMTP 邮件配置配置邮件服务以便发送坐席邀请与密码重置通知。以 163 邮箱为例输入发件人邮箱地址获取邮箱授权码登录 163 邮箱进入设置-POP3/SMTP/IMAP开启 SMTP 服务并新增授权密码复制生成的授权密码返回终端粘贴授权码并回车系统将自动拉取 Docker 镜像并启动容器终端输出访问地址后即表示本地服务启动成功。2.3 初始配置与汉化在浏览器中打开http://192.168.50.99:4000填写管理员账户信息需设置符合复杂度要求的强密码完成初始化并登录设置界面语言为中文进入左侧Settings-Account Settings将 Language 切换为简体中文并保存3. 配置 HTTPS 公网访问Chatwoot 前端组件需通过公网向后台推送实时会话。对于没有公网 IP 的局域网环境可以通过内网穿透技术映射本地端口。3.1 安装 cpolar在 NAS 终端中执行安装命令sudocurlhttps://get.cpolar.sh|sh启动并检查运行状态sudosystemctl status cpolar在浏览器中输入http://192.168.50.99:9200登录 cpolar Web UI 管理界面3.2 配置穿透隧道方案 A随机域名配置用于调试进入隧道管理-隧道列表点击编辑或新建隧道设置协议为HTTP本地端口填入4000地区选择China Top保存更新进入状态-在线隧道列表获取分配的公网 HTTPS 地址并进行访问测试方案 B固定二级子域名配置推荐生产环境为了避免临时域名变动导致网页端客服代码失效建议配置固定域名在 cpolar 控制台预留二级子域名如chatwoot01回到 NAS 本地 cpolar Web UI编辑该隧道将域名类型切换为二级子域名填入预留名称在在线隧道列表中确认公网域名已更新使用 HTTPS 访问固定域名并登录测试4. 将 Chatwoot 接入网站4.1 创建 Website 收件箱进入 Chatwoot 后台点击设置-收件箱-添加收件箱渠道选择网站 (Website)填写网站名称及目标站点的访问域名分配客服代理成员创建完成后系统将生成对应的 JavaScript 嵌入代码确保脚本中的BASE_URL指向 Chatwoot 最终的公网 HTTPS 访问域名script(function(d,t){varBASE_URLhttps://chatwoot01.cpolar.top;vargd.createElement(t),sd.getElementsByTagName(t)[0];g.srcBASE_URL/packs/js/sdk.js;g.asynctrue;s.parentNode.insertBefore(g,s);g.onloadfunction(){window.chatwootSDK.run({websiteToken:3EoaEfw7TkcDimTNEWi9T5t7,baseUrl:BASE_URL})}})(document,script);/script4.2 网页集成与联调测试将 JavaScript SDK 脚本插入目标网页的/body标签前保存刷新网页页面右下角将出现客服聊天气泡小组件双向通信测试访客在前端发送咨询信息客服进入 Chatwoot 后台的会话列表查看并回复前端网页端实时呈现客服回复内容5. 多坐席团队配置进入设置-客服代理- 点击添加客服配置坐席信息名称客服人员姓名或工号。角色可选择客服仅处理分配的会话或管理员全局配置权限。电子邮箱填入成员邮箱。成员将在邮箱中收到激活邀请点击链接设置登录密码将新坐席分配至指定的收件箱渠道即可加入协作总结本文完成了在绿联 NAS 上基于 Docker 自托管 Chatwoot 客服系统的全流程并通过内网穿透工具建立了 HTTPS 公网通道。结合前端 JavaScript SDK完成了从前端聊天组件加载、消息上报、后台坐席分配到实时回复的双向通信验证。在长期生产部署时建议将 Chatwoot 自身的公开访问域名FRONTEND_URL配置为最终使用的公网域名并确保 WebSocket 协议正常支持。如果客服系统涉及敏感业务数据可进一步配置 Chatwoot 的 HMAC 身份签名机制确保访客身份的真实性与数据安全。
返回列表