NAS轻松部署自己的即时通讯—唐僧叨叨,八年时间打造

2023-08-08 17:52:18 59点赞 185收藏 53评论

「怕错过熊猫的精彩分享?那就赶快关注下熊猫吧!」

前言

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

部署

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

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即可 (不用点获取验证吗)

服务器输入服务器输入

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

演示图演示图演示图演示图

总结

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

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

点赞收藏关注点赞收藏关注


展开 收起
53评论

  • 精彩
  • 最新
  • 置顶 除了基础功能,其他一系列高级功能,都需要付费。望周知

    校验提示文案

    提交
    具体哪些功能要收费那

    校验提示文案

    提交
    语音,视频,朋友圈解锁。反正一共需要11万 [皱眉] [皱眉] [皱眉] 真的离谱

    校验提示文案

    提交
    收起所有回复
  • 这界面张小龙能答应?收费就更难火起来了

    校验提示文案

    提交
    哈哈哈哈,赵小龙懂什么通讯

    校验提示文案

    提交
    收起所有回复
  • 玩nas,每年大致得投入多少成本啊?

    校验提示文案

    提交
    不需要啊,就最开始投入大

    校验提示文案

    提交
    1.每年百来块钱的电费,硬件基本上就是一次性投入,一般不会坏的
    2.如果你喜欢研究,代码,笔记,私服....研究学习成本大

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 好的,吃午饭没

    校验提示文案

    提交
    准备睡觉了呢

    校验提示文案

    提交
    收起所有回复
  • 这个支持消息推送吗

    校验提示文案

    提交
    支持的,基本功能就带

    校验提示文案

    提交
    收起所有回复
  • 现在及时通讯 腾讯一家独大 其他的厂商基本挂的差不多了

    校验提示文案

    提交
    是的,所以还是用微信吧

    校验提示文案

    提交
    收起所有回复
  • 冒昧的问一句是端对端加密的吗?能发语音不?

    校验提示文案

    提交
    能发语音,但是需要付费

    校验提示文案

    提交
    收起所有回复
  • 可以试试有度

    校验提示文案

    提交
    这个我看到过,但还没来得及体验

    校验提示文案

    提交
    收起所有回复
  • 群晖自带的

    校验提示文案

    提交
    自带的挺好用的

    校验提示文案

    提交
    收起所有回复
  • 前面没看,但是最后“总结

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

    ”这……

    校验提示文案

    提交
    哈哈哈哈,我只是分享容器,然后说出我自己看法。在我看来的确是不如直接用微信,但有些人会有需要的

    校验提示文案

    提交
    收起所有回复
  • 八年!你知道这八年我怎么过的么!

    校验提示文案

    提交
    慢慢过来的

    校验提示文案

    提交
    没毛病 [惊喜]

    校验提示文案

    提交
    收起所有回复
  • 这谁敢用?信息泄密怎么办

    校验提示文案

    提交
    不会啊,这是私有化部署

    校验提示文案

    提交
    收起所有回复
  • 请问,没有配置https和websocks吗,http会不会太不安全。我一直不知道怎么给docker的容器配置https访问。以前rocketchat也是,弄好了,只能http。

    校验提示文案

    提交
    群规的话直接有反代服务器

    校验提示文案

    提交
    我的是威联通反代我是有摸索过,但是我只弄成功过普通http 反代成https 而这种似乎仅限于普通浏览器浏览能用,比如部署的rocketchat默认http端口3000,但是反代成3001https后,仅能进行登录管理,聊天似乎要websock,就不知道怎么配置了,手机端登录更是不能登录。还有DZZOFFICE+ONLYOFFICE,反代用户界面的dzzoffice后,界面一切正常,而当需要打开office文档,调用onlyoffice反代调用不了,不用反代就可以。大神能不能出一期详细介绍群晖/威联通反代的详细教程。有实例一步步来最好,比如我上面说的那些问题。

    校验提示文案

    提交
    收起所有回复
  • 写的非常用心。

    校验提示文案

    提交
  • 路过

    校验提示文案

    提交
  • 有意思

    校验提示文案

    提交
  • 这个程序太难了

    校验提示文案

    提交
  • 忠实,打赏第一人!

    校验提示文案

    提交
  • 写得真不错

    校验提示文案

    提交
  • 我都毕业了,你非给我上课 [傻笑]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
185
扫一下,分享更方便,购买更轻松