什么是 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

高级设置

勾选 启用自动重新启动

文件夹 装载路径 说明
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相关推荐

  1. openfire开源即时通讯平台

    http://www.igniterealtime.org/projects/spark/screenshots.jsp

  2. GGTalk ——C#开源即时通讯系统

    http://www.cnblogs.com/justnow/ GGTalk --C#开源即时通讯系统 下载中心 GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V ...

  3. NanShan开源即时通讯团队讨论程序员空闲期可以做的事

    原文:NanShan开源即时通讯团队讨论程序员空闲期可以做的事 NanShan开源即时通讯 团队讨论程序员空闲期可以做的事,这里列出以下几点: 空闲期指项目全面进入测试阶段或者一个项目完结.另一个未曾 ...

  4. “XEIM”国内开源即时通讯XEIM

    "XEIM"对国内开源即时通讯和即时通讯两大行业将产生深远影响.局域网聊天部长内部网中昨天对记者表示,局域网聊天对这一事件高度重视,将坚决维护市场秩序和网民利益.前几天局域网聊天已 ...

  5. 云享 值得一用的在线文档即时通讯平台 新用户持续免费

    云享 值得一用的在线文档即时通讯平台 新用户持续免费 https:\\Cloudshare.im 我们的特征是团队版本号的文档库.同一时候提供完美的手机APP支持,更妙的是提供类微信体验的通知.即时沟 ...

  6. 私有化的IM即时通讯平台,企业首选的沟通工具

    互联网的普及,人们可以使用各种即时通讯软件进行交流.普通的即时通讯社交软件都是针对大众的,包含了太多的娱乐和社交元素,并不太适合企业使用,因为可能会影响到员工日常办公的效率,还可能会对企业数据的安全造 ...

  7. 你什么档次?敢和我用一样的即时通讯平台WorkPlus?

    现今,很多企业越来越青睐私有化部署,尤其是在选择组织内部即时通讯平台的时候,更是会提出私有化部署的需求.究其原因,企业选择私有化部署即时通讯软件完全是出于安全方面考虑.因此,越来越多的企业将眼光望向了 ...

  8. 如何挑选适合的企业的即时通讯平台?

    1.用个人即时通讯软件代替 适用对象:员工少只需要基本沟通功能的企业 代表产品:微信.QQ 优点:无服务器成本.无需运维服务,员工无需额外安装APP,使用熟悉: 缺点:实用性.安全性.扩展性.定制性差 ...

  9. 玩转OpenHarmony社交场景:即时通讯平台

    目录 一.简介 二.即时通讯实现原理 三.4步实现多人即时通讯 四.即时通讯功能总结 五.相关参考链接 一.简介 本样例是基于即时通讯(Instant messaging,简称IM)服务实现的Open ...

最新文章

  1. 4、jQuery实现的全选、反选和不选功能
  2. 网站流量突然下降从三方面进行判断病因
  3. Android source开发环境搭建
  4. 2017年第八届蓝桥杯C/C++ A组国赛 —— 第一题:平方十位数
  5. 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
  6. 那个一年发四篇Cell的研究生,后来怎么样了?
  7. Flex 3 metadata tags 标签
  8. 前端工程师技能之photoshop巧用系列扩展篇——自动切图
  9. 顺序表的基本操作(超详细)
  10. 用手机打开word图表位置很乱_原来Word还可以自动生成图片和图表目录!
  11. 启动Jmeter录制代理进行录制,报 jmeter.protocol.http.proxy.ProxyControl
  12. oracle 函数索引
  13. Nginx灰度升级实现说明
  14. 阿里发布内部(面试官)题库:2022年Java社招岗(正式版)面试题
  15. Go Dumpling!让导出数据更容易
  16. SAP中参照采购协议发票校验时带出价格与协议当前价格不一致的案例分析
  17. 无聊的小明来数1 (5 分)...按位与
  18. MVC, MVP 与 MVVM
  19. html5对代码自动排版,HTML5系列:通过JS+DIV+CSS排版布局实现选项卡效果
  20. vbs获取html内容,VBS获取网页内容

热门文章

  1. java部落起源,曾氏起源-mb5ff9820fd69b3的博客-51CTO博客
  2. python绑定按键pageup键_python游戏教程一——键盘事件
  3. 摄影作品赏析——朝阳下的花海
  4. 小程序代理加盟:这些理由告诉你,为什么要加盟小程序
  5. 关于炉石传说6回合抽到杰克逊的概率
  6. 喜大普奔,全球领先的应用开发平台-应用之星3.0版本已经正式发布
  7. UPC-2243 军事情报【递推】
  8. 电脑配置怎么看?关于电脑你必须知道的那些事!
  9. Jquery打造的个性网站
  10. 网络技能大赛做路由交换部分-赛前注意事项[非常重要]