0


Ubuntu Docker部署开源客户沟通平台ChatWoot

Chatwoot 是一款开源的多渠道客户支持平台,旨在帮助企业建立强大、高效的客户服务体系。以下是 Chatwoot 的一些主要特点和功能:

  1. 多渠道支持: Chatwoot 支持通过多种渠道与客户进行互动,包括实时聊天、电子邮件、社交媒体(如 Facebook 和 Twitter)等。
  2. 实时聊天: 提供实时聊天功能,使客服团队能够与客户实时互动,解决问题并提供支持。
  3. 帮助中心功能: Chatwoot 还提供强大的帮助中心功能,帮助企业创建和维护丰富的知识库,使客户能够自助获取信息,提高服务效率。
  4. 电子邮件集成: 可以集成多个电子邮件账户,使客服团队能够通过 Chatwoot 统一管理和回复客户的电子邮件。
  5. 自动化和工作流: 提供自动化工作流和规则引擎,帮助优化客户服务流程,提高效率。
  6. 开放源代码: Chatwoot 是开源软件,你可以自由查看、修改和定制其代码以满足特定需求。
  7. 多语言支持: 提供多语言支持,适应全球范围内的用户和客户。
  8. 团队协作: 支持多用户和团队协作,使团队成员能够协同工作,提供一致的客户支持。
  9. 跟踪和分析: 提供报告和分析工具,帮助你了解客户服务绩效,并采取相应的改进措施。

通过使用 Chatwoot,企业可以更好地管理和响应客户请求,提高客户满意度,同时保持对话历史记录,以更好地了解客户需求。

效果图
请添加图片描述

准备

  • Ubuntu- docker- docker compose

安装docker

apt-get update
apt-get upgrade
curl-fsSL https://get.docker.com -o get-docker.sh
sudosh get-docker.sh
aptinstall docker-compose-plugin

下载必须文件

cd ~
mkdir chatwoot
cd chatwoot
# 新建docker挂载的子目录mkdir-p ./{postgres,redis,storage}# env 环境变量文件wget-O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
# docker-compose.yamlwget-O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml

编辑

.env
vim .env

需要修改的环境变量:

  • SECRET_KEY_BASE : 可以用命令 openssl rand -base64 32 来生成;
  • FRONTEND_URL : 前端地址,根据实际情况填写,例如 http://127.0.0.1:3000,或具体ip,例如http://192.168.0.10:3000
  • HELPCENTER_URL : 帮助中心地址,可以和 FRONTEND_URL 一样
  • POSTGRES_PASSWORD: PostgresSQL 数据库密码,这个密码需要与 docker-compose.yaml 里的 PostgresSQL 密码一致

我的这些设置为(具体位置需要自行寻找):

SECRET_KEY_BASE=45t2G7OgWpfgvnsOgzwilYY9q5hd7DyxiJWk1YbCRyI=FRONTEND_URL=http://192.168.0.10:3000
HELPCENTER_URL=http://192.168.0.10:3000
POSTGRES_PASSWORD=password

保存配置

编辑

docker-compose.yaml
vim docker-compose.yaml
version: '3'

services:
  base: &base
    image: chatwoot/chatwoot:latest
    env_file: .env ## 环境变量
    volumes:
      - ./storage:/app/storage ## 挂载的路径

  rails:
    <<: *base
    depends_on:
      - postgres
      - redis
    ports:
      - 3000:3000
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    entrypoint: docker/entrypoints/rails.sh
    command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0']

  sidekiq:
    <<: *base
    depends_on:
      - postgres
      - redis
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']

  postgres:
    image: postgres:12
    restart: always
    ports:
      - 5432:5432
    volumes:
      - ./postgres:/var/lib/postgresql/data ## 挂载的路径
    environment:
      - POSTGRES_DB=chatwoot
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password ## .env 里设置的 postgres 密码

  redis:
    image: redis:alpine
    restart: always
    command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
    env_file: .env
    volumes:
      - ./redis:/data ## 挂载的路径
    ports:
      - 6379:6379

保存配置

通过运行迁移来准备数据库

# `docker compose` 是新版 cli 命令,如果执行不了,就换成 `docker-compose`# 即 `docker-compose run --rm rails bundle exec rails db:chatwoot_prepare` docker compose run --rm rails bundle exec rails db:chatwoot_prepare

会先拉取镜像,请确保网络正确,我已经拉取好了镜像,运行结果如下

ubuntu@ubuntu:~/chatwoot$ docker compose run --rm rails bundle exec rails db:chatwoot_prepare
[+] Creating 2/2
 ✔ Container chatwoot-postgres-1  Recreated                                                                                                                             0.1s
 ✔ Container chatwoot-redis-1     Recreated                                                                                                                             0.4s
[+] Running 2/2
 ✔ Container chatwoot-postgres-1  Started                                                                                                                               0.3s
 ✔ Container chatwoot-redis-1     Started                                                                                                                               0.4s
+ rm-rf /app/tmp/pids/server.pid
+ rm-rf'/app/tmp/cache/*'
+ echo'Waiting for postgres to become ready....'
Waiting for postgres to become ready....
+ docker/entrypoints/helpers/pg_database_url.rb
+ export'POSTGRES_PORT=5432'
+ PG_READY='pg_isready -h postgres -p 5432 -U postgres'
+ pg_isready -h postgres -p5432-U postgres
postgres:5432 - no response
+ sleep2
+ pg_isready -h postgres -p5432-U postgres
postgres:5432 - accepting connections
+ echo'Database ready to accept connections.'
Database ready to accept connections.
+ bundle install
Bundle complete!125 Gemfile dependencies, 247 gems now installed.
Gems in the groups'development' and 'test' were not installed.
Bundled gems are installed into `/gems`
+ BUNDLE='bundle check'
+ bundle check
The Gemfile's dependencies are satisfied
+ exec bundle exec rails db:chatwoot_prepare
/gems/ruby/3.2.0/gems/gmail_xoauth-0.4.2/lib/gmail_xoauth/imap_xoauth_authenticator.rb:31: warning: Net::IMAP.add_authenticator is deprecated.  Use Net::IMAP::SASL.add_authenticator instead.
/gems/ruby/3.2.0/gems/gmail_xoauth-0.4.2/lib/gmail_xoauth/imap_xoauth2_authenticator.rb:24: warning: Net::IMAP.add_authenticator is deprecated.  Use Net::IMAP::SASL.add_authenticator instead.
fatal: not a git repository (or any of the parent directories): .git
Created database 'chatwoot_production'
ubuntu@ubuntu:~/chatwoot$

当看到

Created database 'chatwoot_production'

即表示创建成功,继续执行下面的命令

# 需要先删除数据库容器docker compose down

# 一键启动docker compose up -d
ubuntu@ubuntu:~/chatwoot$ docker compose down
[+] Running 6/6
 ✔ Container chatwoot-sidekiq-1   Removed                                                                                                                               0.0s
 ✔ Container chatwoot-base-1      Removed                                                                                                                               0.0s
 ✔ Container chatwoot-rails-1     Removed                                                                                                                               0.0s
 ✔ Container chatwoot-redis-1     Removed                                                                                                                               0.0s
 ✔ Container chatwoot-postgres-1  Removed                                                                                                                               0.0s
 ✔ Network chatwoot_default       Removed
ubuntu@ubuntu:~/chatwoot$ docker compose up -d[+] Running 6/6
 ✔ Network chatwoot_default       Created                                                                                                                               0.1s
 ✔ Container chatwoot-postgres-1  Started                                                                                                                               0.1s
 ✔ Container chatwoot-redis-1     Started                                                                                                                               0.0s
 ✔ Container chatwoot-base-1      Started                                                                                                                               0.1s
 ✔ Container chatwoot-sidekiq-1   Started                                                                                                                               0.1s
 ✔ Container chatwoot-rails-1     Started                                                                                                                               0.0s

打开网页

请添加图片描述

正确输入信息后登录
请添加图片描述
设置中文:Settings --> Account Setting --> Site language ,下拉找到简体中文
请添加图片描述
点右上角的绿色按钮 Update settings 保存设置
请添加图片描述

请添加图片描述
正确填写信息后创建

请添加图片描述
请添加图片描述
生成 script 代码

请添加图片描述

<script>(function(d,t){varBASE_URL="http://192.168.0.10:3000";var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
        g.src=BASE_URL+"/packs/js/sdk.js";
        g.defer =true;
        g.async =true;
        s.parentNode.insertBefore(g,s);
        g.onload=function(){
          window.chatwootSDK.run({websiteToken:'ERpVa8q5916PQqnEbNNNH3GS',baseUrl:BASE_URL})}})(document,"script");</script>

script

标签内容添加在

index.html

head

标签内

效果如下:
请添加图片描述
客服:请添加图片描述

我的博客,欢迎前往: https://blog.ivwv.site/

标签: ubuntu docker 开源

本文转载自: https://blog.csdn.net/weixin_53510183/article/details/135307589
版权归原作者 vvw& 所有, 如有侵权,请联系我们删除。

“Ubuntu Docker部署开源客户沟通平台ChatWoot”的评论:

还没有评论