栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

开源即时通讯平台Tinode

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

开源即时通讯平台Tinode

什么是 Tinode ?

Tinode 是一个免费、无限制且灵活的开源消息传递平台,以移动端为主。采用纯 Go 后端(授权 GPL 3.0),客户端采用 Java、Javascript 和 Swift ;gRPC 客户端支持C++ 、C# 、Go 、Java 、Node 、PHP 、Python 、Ruby 、Objective-C 等(授权Apache 2.0)。

安装 准备
  1. 在 docker 文件夹中,创建一个新文件夹,并将其命名为 tinode,在 tinode 中建 3 个子目录,分别是 data,uploads,logs

  2. 这一步是可选项,只有当你想启用外部设置的时候才需要下载 tinode.conf 文件,地址:https://raw.githubusercontent.com/tinode/chat/master/server/tinode.conf,将其放入到 tinode 目录,在修改前做好备份,修改时一定要记得用 UTF-8 编码格式,记得去掉注释

本质上 tinode.conf 文件是个 json 文件,你可以基于官方的 tinode.conf 修改出一个适合自己的,但是很容易搞出错误,所以没有把握的话建议先不启用外部配置

网络

在 Docker 管理器的 网络 中创建一个新的桥接网络

在没有容器连接的情况下,网络是灰的

数据库

tinode 支持三种数据库:RethinkDB、MySQL 和 MongoDB,老苏选了 MySQL ,但这次没有用群晖自带的 MariaDB,而是用 Docker 新安装

Tinode 要求 MySQL 版本必须在 5.7 以上

名称

容器名称 改为 mysql,进入高级设置

如果不用 mysql 做容器名称,记得要修改 tinode 的环境变量 MYSQL_DSN

高级设置

勾选 启用自动重新启动

文件夹装载路径说明
docker/tinode/date/var/lib/mysql持久化存放数据

网络

点 + 号,在下拉框中找到前面添加的网络 tinode-net

选中 bridge 之后点 - 号,只留下 tinode-net

环境
可变
MYSQL_ALLOW_EMPTY_PASSWORD设置为 yes

端口设置、链接 采用默认,全部设置完后,应用 即可

如果容器运行正常,就可以进行下一步了

Tinode

在注册表中搜索 tinode ,选择第三个 tinode/tinode-mysql,版本选择 latest。

当然也可以下载第四个 tinode/tinode,这个版本同时包含了三种数据库适配器,需要通过 STORE_USE_ADAPTER = mysql 环境变量来指定数据库适配器。

文件夹装载路径说明
docker/tinode/tinode.conf/opt/tinode/tinode.conf配置文件
docker/tinode/logs/var/log存放日志
docker/tinode/uploads/opt/tinode/uploads上传目录
  • 其中第一项为文件,第二、三项为文件夹;

如果你不启用外部设置,可以只映射文件夹

网络

点 + 号,在下拉框中找到前面添加的网络 tinode-net

选中 bridge 之后点 - 号,只留下 tinode-net

端口

除了 6060 端口 ,其他端口直接用了默认的 自动

本地端口容器端口
60606060

环境
可变
EXT_CONFIG按官方文档需设置为 /opt/tinode/tinode.conf

如果前面启用了外部配置,这里就需要设置 EXT_CONFIG,否则不需要设置,保持默认即可

如果你的 tinode.conf 配置有问题,日志会一直显示错误,比如下面这样:

Database adapter: mysql , version: 111
Failed to init DB adapter: dial tcp 127.0.0.1:3306: connect: connection refused
./init-db failed. Quitting.

需要修改正确,容器才能正常启动

Database adapter: mysql , version: 111
Database exists, DB version is correct. All done.

应用之后,如果不出意外的话容器应该也能正常运转

运行

在浏览器中输入 http://群晖IP:6060,就看到登录界面

设置服务器地址:

显示不全,端口是默认的 6060,而不是看到的 606

系统内置了一些测试账号

账号密码
alicealice123
bobbob123
carolcarol123
davedave123
frankfrank123

用 alice 登录网页

虽然显示的聊天内容都是英文,其实界面是中文的

看之前的一些文档,要注册新用户需要设置 SMTP 服务器,实际上现在已经不需要

直接搜索 alice

发测试消息

对端收到的消息

Android客户端

适用于 Android 的 Tinode 又名 Tindroid,可以在这里下载 Released 的版本

https://github.com/tinode/tindroid/releases

iOS客户端

适用于 iOS 的 Tinode 又名 Tinodios, 应该可以在 App Store 中下载

小结

以上设置(包括数据库没有设置密码等等)都是非生产环境的设置,仅用于快速实现功能的体验

更多关于 docker 方式的安装和参数设置,还请查阅官方文档:https://github.com/tinode/chat/blob/master/docker/README.md

一些常见问题:https://github.com/tinode/chat/blob/master/docs/faq.md

PS:老苏设置过 SMTP 服务器,想用于新用户注册和密码找回,用 88 邮箱做了测试,但没有成功,日志中没有任何错误信息,但是也没有收到邮件,可以确认的是发送和接收邮箱都正常,也没有屏蔽,原因待查!

参考文档

Tinode instant messenger
地址:https://tinode.co/

tinode/chat: Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots
地址:https://github.com/tinode/chat

chat/README.md at master · tinode/chat
地址:https://github.com/tinode/chat/blob/master/docker/README.md

Tinode chat server and Apache reverse proxy on NixOS
地址:https://jiaxiaodong.com/blog/computing/server/nix/5/

tinode部署,使用_cumt_TTR的专栏-CSDN博客_tinode
地址:https://blog.csdn.net/cumt_TTR/article/details/104300501

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333791.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号