我在 Ubuntu
3.0.6
上有自托管版本的 RocketChat 18.04.5 LTS
,安装于 3 年多前。并想要升级到最新的可用 LTS 版本。
不知道它到底是如何安装的,但它肯定不是 docker/snap 方法(当时活动选项是什么?),因为该服务器上没有 snap/docker。 看起来所有 RC 代码都在这里
/opt/Rocket.Chat
,一些带有 Rocketchat 的目录位于 /var/lib/lxcfs/cgroup
,但是 MongoDB 和所有数据位于这里不同的安装存储上 /mnt/vdb/mongodb/
。
/lib/systemd/system/rocketchat.service
的服务如下:
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target mongod.target mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=NODE_ENV=production
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
Environment=ROOT_URL=https://rocketchat.myexampledomain.com/
Environment=PORT=3456
[Install]
WantedBy=multi-user.target
版本:
所以,我的问题是:
注意事项:
/
没有足够的磁盘空间来容纳我拥有的所有数据(总共20G),所以我绝对不能在那里移动40G的数据。但可以创建备份副本,因为在安装的驱动器上我有两倍以上的空间。我的建议是手动升级。看起来也不是太难。
官方文档仍然包含如何手动安装,基本上只是下载项目并在其上运行 npm --install ,然后配置您的服务文件和一些权限,在您的情况下两者都已经完成。
我喜欢使用单独的服务对我的系统进行完整备份,这样我就不需要知道如何备份单个应用程序。以 RocketChat 为例,其背后有一个 MongoDB 实例,但还需要考虑潜在的文件存储。另外,系统上还有其他应用程序。与其试图记住如何单独备份所有这些,不如使用 Clonezilla 之类的完整系统克隆可能是更好的选择。这样您就可以轻松地将驱动器恢复到升级前的状态。如果这是虚拟机,您的虚拟机管理程序应该提供一个按钮,您可以在其中拍摄快照或备份,并在需要时使用它进行恢复。