NAS輕松部署自己的即時通訊—唐僧叨叨,八年時間打造
?「怕錯過熊貓的精彩分享?那就趕快關注下熊貓吧!」
?
前言
該項目為群友提供讓我折騰一下。項目名字很有趣,叫唐僧叨叨。一款非微信專家,非騰訊專家,歷時八年時間打造的運營級別的開源即時通訊聊天軟件,采用的是WuKongIM提供通訊動力??唇榻B還是蠻不錯的,但還是有很多雷區(qū),這些我不提,先跟著熊貓的節(jié)奏部署一下看看效果吧!
部署
項目部署很簡單,而且作者也給到了部署方法,熊貓也只是將就著方法換成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"?
??????-?"5100:5100"??
??????-?"5200:5200"?
??????-?"5300:5300"?#?監(jiān)控端口
????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:??#?唐僧叨叨的業(yè)務服務
????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數(shù)據(jù)庫
????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文件夾中,緊接著我們還需要創(chuàng)建一個.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數(shù)據(jù)庫的root用戶密碼,隨機填寫;MINIO_ROOT_PASSWORD: minio 文件服務的密碼,隨機填寫;TS_SMSCODE為手機注冊默認的短信驗證碼。再將該文件也放入tsdd文件夾下。

最后我們打開群暉的SSH端口,并通過SSH工具鏈接到群暉。在獲取了管理員權限后,我們cd到項目目錄下輸入命令docker-compose up -d啟動項目。

中間會出現(xiàn)一些報錯,提示找不到文件夾,我們按照它給出的提示,新建好對應的文件夾就可以了。需要在tsdd文件夾中分別新建miniodata、mysqldata、wukongim以及tsdd文件夾。隨后再次輸入命令,就能看到項目部署成功了。

體驗
瀏覽器輸入http://nasip+端口號就可以看到登錄界面了。

該項目需要先在手機端注冊才能在web端使用,去官方下載好app登錄頁面長按“歡迎登錄唐僧叨叨”這是一個隱藏的注冊入口,點擊進入注冊頁面,輸入手機號,默認驗證碼為:123456即可 (不用點獲取驗證嗎)

登錄之后就能看到主界面了,說實話和微信不能說一模一樣,簡直就是雙胞胎啊。上幾個圖給大家看看。


總結
更多的功能就需要小伙伴們自行去了解了,對于即時通訊這一類,熊貓并不是很感冒。畢竟自己搭建并沒有覺得有什么不同,所以還是直接用微信吧。
以上便是本期的全部內容了,如果你覺得還算有趣或者對你有所幫助,不妨點贊收藏,最后也希望能得到你的關注,咱們下期見!
