开源即时通讯平台Tinode

什么是 Tinode ?

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

安装

准备

  1. docker 文件夹中,创建一个新文件夹,并将其命名为 tinode,在 tinode 中建 3 个子目录,分别是 datauploadslogs

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

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

网络

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

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

数据库

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

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

名称

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

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

mysql

高级设置

勾选 启用自动重新启动

文件夹装载路径说明
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客户端

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

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

iOS客户端

适用于 iOSTinode 又名 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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值