tx

熊猫不是猫QAQ

平平无奇小熊猫
612,451
NAS轻松部署自己的即时通讯—唐僧叨叨,八年时间打造 NAS轻松部署自己的即时通讯—唐僧叨叨,八年时间打造
怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!

前言

该项目为群友提供让我折腾一下。项目名字很有趣,叫唐僧叨叨。一款非微信专家,非腾讯专家,历时八年时间打造的运营级别的开源即时通讯聊天软件,采用的是WuKongIM提供通讯动力。看介绍还是蛮不错的,但还是有很多雷区,这些我不提,先跟着熊猫的节奏部署一下看看效果吧!

部署

项目部署很简单,而且作者也给到了部署方法,熊猫也只是将就着方法换成NAS部署的形式。按照作者的方式,我们首先需要在docker文件夹中新建一个tsdd文件夹,随后在该文件下新建一个docker-compose.yaml文件,文件内容按照自己情况更改:

version: '3'
services:
  wukongim:  # 唐僧叨叨通讯服务(悟空IM)
    image: registry.cn-shanghai.aliyuncs.com/wukongim/wukongim:latest
    restart: always
    ports:
      # - "5010:5001" # http api端口(业务端调用,仅限内网开放) 
      - "5100:5100"  # tcp长连接端口(外网开放)
      - "5200:5200" # websocket端口(外网开放)
      - "5300:5300" # 监控端口
    volumes:
      - ./wukongim:/root/wukongim
    environment:
      - WK_MODE=${WK_MODE}
      - WK_EXTERNAL_IP=${EXTERNAL_IP}
      - WK_CONVERSATION_ON=true
      - WK_WEBHOOK_GRPCADDR=tangsengdaodaoserver:6979
      - WK_DATASOURCE_ADDR=http://tangsengdaodaoserver:8090/v1/datasource
      - WK_DATASOURCE_CHANNELINFOON=true
      - WK_TOKENAUTHON=true  
  tangsengdaodaoserver:  # 唐僧叨叨的业务服务
    image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoserver:latest
    restart: always
    command: "api"
    healthcheck:
      test: "wget -q -Y off -O /dev/null http://localhost:8095/v1/ping > /dev/null 2>&1"
      interval: 10s
      timeout: 10s
      retries: 3
    depends_on:
       - redis
       - mysql
       - wukongim
    ports:
      - "8095:8090"
    volumes:
      - ./tsdd:/home/tsdddata
      # - ./tsdd/configs/tsdd.yaml:/home/configs/tsdd.yaml
    environment:
      - TS_MODE=${TS_MODE}
      - TS_WUKONGIM_APIURL=http://wukongim:5001
      - TS_DB_MYSQLADDR=root:${MYSQL_ROOT_PASSWORD}@tcp(mysql)/${MYSQL_DATABASE}?charset=utf8mb4&parseTime=true&loc=Local
      - TS_DB_REDISADDR=redis:6379
      - TS_EXTERNAL_IP=${EXTERNAL_IP}
      - TS_SMSCODE=${TS_SMSCODE}
      - TS_FILESERVICE=${TS_FILESERVICE}
      - TS_MINIO_ACCESSKEYID=${MINIO_ROOT_USER}
      - TS_MINIO_SECRETACCESSKEY=${MINIO_ROOT_PASSWORD}
      - TS_AVATAR_DEFAULTBASEURL=https://api.multiavatar.com/{avatar}.png
  tangsengdaodaoweb:  # 唐僧叨叨的web服务
    image: registry.cn-shanghai.aliyuncs.com/wukongim/tangsengdaodaoweb:latest
    restart: always
    environment:
      - API_URL=http://${EXTERNAL_IP}:8090/
    ports:
      - "822:80" 
  minio: # minio文件管理服务
    image: minio/minio:latest # use a remote image
    expose:
      - "9000"
      - "9001"
    command: "server /data --console-address ':9001'"
    ports:
      - "9002:9000"
      - "9001:9001"
    environment:
      - MINIO_ROOT_USER=${MINIO_ROOT_USER}
      - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
    volumes:
      - ./miniodata:/data    
  mysql:  # mysql数据库
    image: mysql:latest
    command: --default-authentication-plugin=mysql_native_password
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
      - MYSQL_DATABASE=${MYSQL_DATABASE}
    volumes:
      - ./mysqldata:/var/lib/mysql                    
  redis:  # redis
    image: redis
    restart: always
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 1s
      timeout: 3s
      retries: 30
  adminer:  # mysql web管理工具 调试用,为了安全生产不要打开
   image: adminer:latest
   ports:
     - 8306:8080

将次文件放入新建的tsdd文件夹中,紧接着我们还需要创建一个.env配置文件,文件内容如下:

# Common config

# The IP address of the server.
EXTERNAL_IP=192.168.101.66

# MYSQL Config

 # The password of the root user of the mysql database
MYSQL_ROOT_PASSWORD=panda
# The name of the mysql database
MYSQL_DATABASE=im

# Minio Config

# The access key ID of the minio file service
MINIO_ROOT_USER=minio
# The secret access key of the minio file service
MINIO_ROOT_PASSWORD=panda

# WuKongIM Config

# debug or release
WK_MODE=debug

# TangSengDaoDao Config

# File service type, default is minio
TS_FILESERVICE=minio
# debug or release
TS_MODE=debug
# The SMS code for testing, if it is not empty, the SMS code will be this value (If you need to configure real SMS, please refer to the SMS configuration in the complete configuration)
TS_SMSCODE=123456

其中我们需要更改一些内容,EXTERNAL_IP:服务器的对外IP地址;MYSQL_ROOT_PASSWORD: mysql数据库的root用户密码,随机填写;MINIO_ROOT_PASSWORD: minio 文件服务的密码,随机填写;TS_SMSCODE为手机注册默认的短信验证码。再将该文件也放入tsdd文件夹下。

目录树目录树

最后我们打开群晖的SSH端口,并通过SSH工具链接到群晖。在获取了管理员权限后,我们cd到项目目录下输入命令docker-compose up -d启动项目。

命令行命令行

中间会出现一些报错,提示找不到文件夹,我们按照它给出的提示,新建好对应的文件夹就可以了。需要在tsdd文件夹中分别新建miniodata、mysqldata、wukongim以及tsdd文件夹。随后再次输入命令,就能看到项目部署成功了。

重启项目重启项目

体验

浏览器输入http://nasip+端口号就可以看到登录界面了。

登录界面登录界面

该项目需要先在手机端注册才能在web端使用,去官方下载好app登录页面长按“欢迎登录唐僧叨叨”这是一个隐藏的注册入口,点击进入注册页面,输入手机号,默认验证码为:123456即可 (不用点获取验证吗)

服务器输入服务器输入

登录之后就能看到主界面了,说实话和微信不能说一模一样,简直就是双胞胎啊。上几个图给大家看看。

演示图演示图

演示图演示图

总结

更多的功能就需要小伙伴们自行去了解了,对于即时通讯这一类,熊猫并不是很感冒。毕竟自己搭建并没有觉得有什么不同,所以还是直接用微信吧。

以上便是本期的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!点赞收藏关注点赞收藏关注

版权声明 ▶ 本文作者:panda
▶ 本文链接:https://panda995.xyz/network/2744.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
0 条评论
user 编辑评论信息
插入图片

隐私评论