开源即时通讯平台Tinode
什么是 Tinode ?
Tinode
是一个免费、无限制且灵活的开源消息传递平台,以移动端为主。采用纯Go
后端(授权 GPL 3.0),客户端采用Java
、Javascript
和Swift
;gRPC
客户端支持C++
、C#
、Go
、Java
、Node
、PHP
、Python
、Ruby
、Objective-C
等(授权Apache 2.0)。
安装
准备
在
docker
文件夹中,创建一个新文件夹,并将其命名为tinode
,在tinode
中建 3 个子目录,分别是data
,uploads
,logs
这一步是可选项,只有当你想启用外部设置的时候才需要下载
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
端口 ,其他端口直接用了默认的 自动
本地端口 | 容器端口 |
---|---|
6060 | 6060 |
环境
可变 | 值 |
---|---|
EXT_CONFIG
|
按官方文档需设置为 /opt/tinode/tinode.conf
|
如果前面启用了外部配置,这里就需要设置 EXT_CONFIG
,否则不需要设置,保持默认即可
如果你的 tinode.conf
配置有问题,日志会一直显示错误,比如下面
开源即时通讯平台Tinode相关推荐
- openfire开源即时通讯平台
http://www.igniterealtime.org/projects/spark/screenshots.jsp
- GGTalk ——C#开源即时通讯系统
http://www.cnblogs.com/justnow/ GGTalk --C#开源即时通讯系统 下载中心 GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V ...
- NanShan开源即时通讯团队讨论程序员空闲期可以做的事
原文:NanShan开源即时通讯团队讨论程序员空闲期可以做的事 NanShan开源即时通讯 团队讨论程序员空闲期可以做的事,这里列出以下几点: 空闲期指项目全面进入测试阶段或者一个项目完结.另一个未曾 ...
- “XEIM”国内开源即时通讯XEIM
"XEIM"对国内开源即时通讯和即时通讯两大行业将产生深远影响.局域网聊天部长内部网中昨天对记者表示,局域网聊天对这一事件高度重视,将坚决维护市场秩序和网民利益.前几天局域网聊天已 ...
- 云享 值得一用的在线文档即时通讯平台 新用户持续免费
云享 值得一用的在线文档即时通讯平台 新用户持续免费 https:\\Cloudshare.im 我们的特征是团队版本号的文档库.同一时候提供完美的手机APP支持,更妙的是提供类微信体验的通知.即时沟 ...
- 私有化的IM即时通讯平台,企业首选的沟通工具
互联网的普及,人们可以使用各种即时通讯软件进行交流.普通的即时通讯社交软件都是针对大众的,包含了太多的娱乐和社交元素,并不太适合企业使用,因为可能会影响到员工日常办公的效率,还可能会对企业数据的安全造 ...
- 你什么档次?敢和我用一样的即时通讯平台WorkPlus?
现今,很多企业越来越青睐私有化部署,尤其是在选择组织内部即时通讯平台的时候,更是会提出私有化部署的需求.究其原因,企业选择私有化部署即时通讯软件完全是出于安全方面考虑.因此,越来越多的企业将眼光望向了 ...
- 如何挑选适合的企业的即时通讯平台?
1.用个人即时通讯软件代替 适用对象:员工少只需要基本沟通功能的企业 代表产品:微信.QQ 优点:无服务器成本.无需运维服务,员工无需额外安装APP,使用熟悉: 缺点:实用性.安全性.扩展性.定制性差 ...
- 玩转OpenHarmony社交场景:即时通讯平台
目录 一.简介 二.即时通讯实现原理 三.4步实现多人即时通讯 四.即时通讯功能总结 五.相关参考链接 一.简介 本样例是基于即时通讯(Instant messaging,简称IM)服务实现的Open ...
最新文章
- 4、jQuery实现的全选、反选和不选功能
- 网站流量突然下降从三方面进行判断病因
- Android source开发环境搭建
- 2017年第八届蓝桥杯C/C++ A组国赛 —— 第一题:平方十位数
- 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
- 那个一年发四篇Cell的研究生,后来怎么样了?
- Flex 3 metadata tags 标签
- 前端工程师技能之photoshop巧用系列扩展篇——自动切图
- 顺序表的基本操作(超详细)
- 用手机打开word图表位置很乱_原来Word还可以自动生成图片和图表目录!
- 启动Jmeter录制代理进行录制,报 jmeter.protocol.http.proxy.ProxyControl
- oracle 函数索引
- Nginx灰度升级实现说明
- 阿里发布内部(面试官)题库:2022年Java社招岗(正式版)面试题
- Go Dumpling!让导出数据更容易
- SAP中参照采购协议发票校验时带出价格与协议当前价格不一致的案例分析
- 无聊的小明来数1 (5 分)...按位与
- MVC, MVP 与 MVVM
- html5对代码自动排版,HTML5系列:通过JS+DIV+CSS排版布局实现选项卡效果
- vbs获取html内容,VBS获取网页内容