参考资料

  1. Nexus Repository Manager 3(简称Nexus3)是由Sonatype公司开发的一款企业级仓库管理工具
  2. Erlang 是一种通用的并发编程语言和运行时环境
  3. Jetty 是一个轻量级的开源 Java Web 服务器和 Servlet 容器,由 Eclipse 基金会维护
  4. docker镜像(Image)是什么?
  5. Nginx 是一款高性能的开源 Web 服务器
  6. Elasticsearch 是一个开源的分布式搜索和分析引擎
  7. OrientDB 是一个开源的 多模型数据库
  8. PlayEdu是一款开源的企业在线培训系统

Rocket.Chat 是一款开源的团队聊天平台

Rocket.Chat 简介

Rocket.Chat 是一款开源的团队聊天平台,支持实时消息、视频会议、文件共享等功能,可自托管或使用云服务。

特点

  1. 开源免费:代码公开,可自由修改和部署。

  2. 多平台支持:提供 Web、桌面(Windows/macOS/Linux)和移动端(iOS/Android)应用。

  3. 功能丰富:支持群聊、私聊、频道、视频会议、屏幕共享、文件传输等。

  4. 高度可定制:支持插件和主题扩展。

  5. 安全加密:提供端到端加密(E2EE)选项。

  6. 集成能力强:支持与 GitHub、GitLab、Jira 等第三方工具集成。

最新更新内容及时间

  • 版本 6.4.0(2023年10月):

    • 新增消息编辑历史功能。

    • 改进视频会议性能。

    • 优化移动端用户体验。

    • 修复若干安全漏洞。

镜像下载地址

官网地址

文档地址

Docker 安装示例

# 启动 MongoDB
docker run --name db -d mongo:4.4 --replSet rs0 --oplogSize 128

# 初始化 MongoDB 副本集
docker exec -it db mongo --eval "rs.initiate()"

# 启动 Rocket.Chat
docker run --name rocketchat --link db -p 3000:3000 -d rocket.chat

YAML 设置教程(以 docker-compose.yml 为例)

version: '3'

services:
  mongodb:
    image: mongo:4.4
    restart: unless-stopped
    volumes:
      - ./data/db:/data/db
    command: mongod --replSet rs0 --oplogSize 128

  rocketchat:
    image: rocket.chat:latest
    restart: unless-stopped
    ports:
      - 3000:3000
    environment:
      - MONGO_URL=mongodb://mongodb:27017/rocketchat
      - MONGO_OPLOG_URL=mongodb://mongodb:27017/local
    depends_on:
      - mongodb

常见错误及解决方法

  1. MongoDB 副本集未初始化

    • 错误提示:Failed to connect to MongoDB

    • 解决:执行 rs.initiate() 初始化副本集。

  2. 端口冲突

    • 错误提示:Address already in use

    • 解决:检查并关闭占用 3000 端口的进程,或修改 Rocket.Chat 的映射端口。

  3. 内存不足

    • 错误提示:MongoDB exited due to insufficient memory

    • 解决:为 MongoDB 分配至少 2GB 内存,或调整 oplogSize

  4. Docker 容器无法启动

    • 错误提示:Cannot link to a non-running container

    • 解决:确保 MongoDB 容器先启动,或使用 depends_on 配置依赖关系。

  5. 端到端加密失败

    • 错误提示:E2E key generation failed

    • 解决:检查浏览器或客户端是否支持 WebCrypto API,或禁用广告拦截插件。