写点什么

即时通讯(IM)开源项目 OpenIM 本周版本发布 - v1.0.7web 端一键部署

作者:OpenIM
  • 2021 年 12 月 10 日
  • 本文字数:2596 字

    阅读完需:约 9 分钟

即时通讯(IM)开源项目OpenIM本周版本发布- v1.0.7web端一键部署

介绍

OpenIM:由前微信技术专家打造的基于 Go 实现的即时通讯(IM)开源项目,包括 IM 服务端和客户端 SDK。开发者私有化部署,基于 SDK 二次开发,可以轻松替代第三方 IM 云服务,打造具备聊天、社交功能的 app。无论是开发同城交友、企业办公亦或是当今最热门的元宇宙,还是在应用中集成 IM 功能,都非常便捷。OpenIM 代码 100%开源,开源协议 Apache-2.0 License 任何企业和个人都可以免费使用(包括商用)。

请各位看官多多支持,转发和宣传,助力 OpenIM 成为开源 IM 的 No1

web 端体验地址

http://121.37.25.71:23232/

项目成果

截止到今天,github star 数量达到 6k,开源 IM 项目的领跑者

  • 开发者文档:https://doc.rentsoft.cn/

  • github 地址:https://github.com/OpenIMSDK/Open-IM-Server

OpenIM 不是个人兼职项目, 是商业化全职团队运作,有针对性 VIP 客户的收费服务,保证项目长期健康发展。

本周重点特性

客户端 SDK v1.0.7

服务端 v1.0.6

docker 已更新,请拉取最新镜像,docker 部署常见问题总结分析和解决办法 见文档: https://doc.rentsoft.cn/demo/server_deploy/docker_singe.html

OpenIM 每周都会迭代发布新版本,主要针对 bug 修复和系统优化,特别值得注意的是,版本号的第一位数字代表大版本,一般是做了协议改造升级,服务器和客户端两者必须保持大版本一致。

分支说明:

(1)dev:外部开发者在此分支上提交 pr;

(2)tuoyun:OpenIM 内部专用;

(3)main:最新可用分支;

服务端一键部署

docker 安装、启动

安装

curl -sSL https://get.daocloud.io/docker | sh
复制代码

或者

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
复制代码

启动、停止

重启 docker 服务

sudo service docker restart
复制代码

关闭 docker

sudo service docker stop
复制代码

docker-compose 安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
复制代码

部署

如果确定是首次安装,可以直接采用如下命令完成 1-4 步

git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive; cd Open-IM-Server/script ; chmod +x *.sh ; ./env_check.sh;cd .. ; docker-compose up -d;cd script ; ./docker_check_service.sh
复制代码


端口开放

需要开通外网端口(TCP):17778(消息,必须开),10000(API,必须开), 30000(jssdk 专用,需要才开), 42233 (短信验证码端口,需要才开),25(邮箱验证码端口,需要才开)

如果 check 成功,但是端口连接不上,一般是端口开放或者防火墙问题导致。

当然也可以不开通以上端口,而通过 nginx 做转发。

web 端一键部署

环境要求

  • node 14.17.5+

开发测试

  • 拉取项目

git clone https://github.com/OpenIMSDK/Open-IM-PC-Web-Demo.git
复制代码
  • 安装依赖

npm install
复制代码

修改配置配置文件位置为:src/config/index.ts 项目默认配置地址为 OpenIM 测试服务器地址,若您已部署 OpenIM-Server 在自己的服务器上,需要修改为对应地址,否则可跳过此步骤。项目默认使用腾讯云 COS 服务,可根据需求自行更改文件存储服务。

// 注册服务地址 export const AXIOSURL = "http://47.112.160.66:42233"// axios 请求超时时间 export const AXIOSTIMEOUT = 60000// OpenIM-Server JS SDK portexport const IMURL = "ws://47.112.160.66:30000"// 获取 cos 临时密钥地址 export const COSAUTHORIZATIONURL = "http://47.112.160.66:10000"// cos bucketexport const COSBUCKET = "echat-1302656840"// cos regionexport const COSREGION = "ap-chengdu"// cos 缩略图格式配置 export const PICMESSAGETHUMOPTION = "?imageView2/1/w/200/h/200/rq/80"

Web 运行调试

  • 默认运行端口为 3000

npm run start:renderer
复制代码

打包部署

  • 打包生成文件在项目根目录 build 文件夹下,将文件夹内容上传服务器部署即可。

npm run build:renderer
复制代码

重点特性展示


关于我们

托云信息技术(成都)有限公司

我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的 IM 服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。

开源的价值

从公司成立之初就将“开源”作为核心战略来推进,开源充分体现了自由、平等、分享的互联网精神。

全球范围频繁发生的数据泄露、勒索病毒、隐私滥用等安全事件一次次给企业敲响警钟,企业管理者对数据资产的价值、数据安全的重要性有了更清晰的认识,数据安全成就企业核心价值。

IM 作为核心业务数据,安全的重要性毋庸置疑,OpenIM 开源以及私有化部署让企业能更放心使用。

我们的团队

创始团队来自前微信技术团队,我们致力于用开源技术创造服务价值,打造轻量级、高可用的 IM 架构,开发者只需简单调用 SDK,即可在应用内构建多种即时通讯及实时音视频互动场景。

OpenIM 邀请全球技术极客参与技术优化,让开发者轻松集成,让每一个应用都具备 IM 功能,同时考虑企业的接入成本、服务器资源以及最重要的数据安全性和私密性。

OpenIM 有什么特色

(1) 开源永久免费

代码全部开源,永久免费,包括客户端和服务端,由前微信技术专家打造,并邀请全球技术极客参与建设。开源协议 Apache-2.0 License 任何企业和个人都可以免费使用(包括商用),但必须在应用启动页加上 :由 OpenIM 提供技术支持

(2) 易扩展

服务端采用 golang 实现,首创“一切皆消息”的通讯模型,轻松实现自定义消息和扩展功能。,无论是已读回执,群通知等都采用此模型,复用消息通道。

(3) 专业技术服务

每个技术人员都承担技术客服的角色,强化社区,及时解答。搭建微信社区,telegram 群组,github 上 issue 和社群互动,提升问题解决效率。

(4) 高性能

借鉴并优化通讯架构,抽象在线消息、离线消息、历史消息存储模型,分层治理架构,支持集群部署,平行扩展。

(5) 安全

代码全部开源,服务端私有化部署,数据自我掌控。数据安全大于天,中华人民共和国个人信息保护法有效保护用户信息不受侵犯。

(6) 全平台支持

sdk 通过 golang 实现,通过 gomobile 生成 aar 和 framework,统一架构,支持 Andorid、iOS 原生开发,支持 Flutter、uni-app 跨端开发,支持小程序、React 等所有主流 web 前端技术框架, PC 支持 Electron,Flutter、iOS、uni-app、pc 已有成熟 demo 可以体验。

开发者可以使用 OpenIM 替代市场上各种 IM 云服务,除了降低成本,还赋予开发者更多的灵活性和自主性。我们通过开源的方式,邀请全球技术极客来参与 OpenIM 建设,使每位开发者都能免费使用最优秀的 IM 组件,让每个 app 都具备即时通讯能力。

用户头像

OpenIM

关注

还未添加个人签名 2021.08.30 加入

还未添加个人简介

评论

发布
暂无评论
即时通讯(IM)开源项目OpenIM本周版本发布- v1.0.7web端一键部署