You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非Snap/Docker部署的RocketChat 3.0.6升级及数据迁移咨询

RocketChat 升级与数据迁移方案

1. 数据备份与恢复方法

备份流程

  • 停止相关服务:避免备份过程中数据写入导致不一致
    sudo systemctl stop rocketchat
    sudo systemctl stop mongod
    
  • 备份MongoDB数据:因根目录空间不足,指定备份目录到挂载盘
    sudo mkdir -p /mnt/vdb/backup/rocketchat_mongo
    sudo mongodump --dbpath /mnt/vdb/mongodb/ --out /mnt/vdb/backup/rocketchat_mongo/$(date +%Y%m%d_%H%M)
    
  • 备份配置与代码:用于回滚场景
    sudo cp /lib/systemd/system/rocketchat.service /mnt/vdb/backup/
    sudo tar -czf /mnt/vdb/backup/rocketchat_code_$(date +%Y%m%d_%H%M).tar.gz /opt/Rocket.Chat
    
  • 恢复服务运行
    sudo systemctl start mongod
    sudo systemctl start rocketchat
    

恢复流程

  • 停止服务
    sudo systemctl stop rocketchat
    sudo systemctl stop mongod
    
  • 恢复MongoDB数据:替换[备份目录]为实际备份路径
    sudo rm -rf /mnt/vdb/mongodb/*
    sudo mongorestore --dbpath /mnt/vdb/mongodb/ --dir [备份目录]/rocketchat
    sudo mongorestore --dbpath /mnt/vdb/mongodb/ --dir [备份目录]/local
    
  • 恢复代码与配置(回滚用)
    sudo rm -rf /opt/Rocket.Chat
    sudo tar -xzf /mnt/vdb/backup/rocketchat_code_[日期].tar.gz -C /
    sudo cp /mnt/vdb/backup/rocketchat.service /lib/systemd/system/
    
  • 修复权限并启动服务
    sudo chown -R mongodb:mongodb /mnt/vdb/mongodb/
    sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
    sudo systemctl start mongod
    sudo systemctl start rocketchat
    

2. 源码部署版本升级步骤

跨版本过大必须逐步升级,建议路径:3.0.6 → 3.18.x(3.x最终稳定版) → 4.8.x(4.x最终稳定版) → 5.4.x(5.x最终稳定版) → 最新LTS版

前置准备

  • 完成全量备份,确保可回滚
  • 升级NodeJS:新版本需Node 14.x/16.x,替换旧版本
    sudo apt remove nodejs -y
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt install nodejs -y
    
  • 升级MongoDB:原4.0的mmapv1引擎已弃用,需升级到4.4并转换为WiredTiger
    1. 先升级MongoDB到4.2,再到4.4,每步启动后执行db.adminCommand({ setFeatureCompatibilityVersion: "对应版本号" })
    2. 停止MongoDB,修改mongod.conf添加storage.engine: wiredTiger,重启后自动完成引擎转换

逐步升级RocketChat

  • 升级到3.18.x
    sudo systemctl stop rocketchat
    cd /opt/Rocket.Chat
    sudo git fetch
    sudo git checkout 3.18.12
    sudo npm install --production
    sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
    sudo systemctl start rocketchat
    
    启动后访问后台确认功能正常,再进行下一版本升级
  • 重复上述步骤,依次升级到4.8.x、5.4.x,最后到最新LTS版本,每个版本均需验证服务状态
  • 升级完成后检查systemd服务的ExecStart路径,确保指向新安装的Node二进制文件

3. 迁移到Snap部署版本的步骤

前置准备

  • 完成全量数据备份
  • 卸载旧源码部署:
    sudo systemctl stop rocketchat
    sudo systemctl disable rocketchat
    sudo rm /lib/systemd/system/rocketchat.service
    sudo rm -rf /opt/Rocket.Chat
    

安装Snap版RocketChat

sudo snap install rocketchat-server

迁移MongoDB数据

  • 停止Snap的Mongo服务:
    sudo snap stop rocketchat-server.mongodb
    
  • 清空默认数据目录:
    sudo rm -rf /var/snap/rocketchat-server/common/db/*
    
  • 恢复备份数据:
    sudo mongorestore --dbpath /var/snap/rocketchat-server/common/db/ --dir [备份目录]/rocketchat
    sudo mongorestore --dbpath /var/snap/rocketchat-server/common/db/ --dir [备份目录]/local
    
  • 修复权限:
    sudo chown -R snap_daemon:snap_daemon /var/snap/rocketchat-server/common/db/
    

配置Snap版服务

  • 设置环境变量匹配原配置:
    sudo snap set rocketchat-server root-url=https://rocketchat.myexampledomain.com/
    sudo snap set rocketchat-server port=3456
    
  • 启动服务:
    sudo snap start rocketchat-server
    
  • 调整Nginx反向代理配置,确保指向Snap版服务端口,LE证书保持原有配置即可

内容的提问来源于stack exchange,提问作者trogwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 17:32:46