Trilium 升级流程
January 08, 2022
用 Trilium 做笔记、知识库管理估摸着也有个把月了把,期间也试过其他笔记软件,如:obsidian、joplin 等等,不过都不太满意。我个人还是比较喜欢 notion 这种 all in one 的软件,但是 notion 不能自部署,所以就没有考虑了。
上次在 Trilium 那边提了常驻任务栏的 issue 后得到了作者的肯定说之后某个版本会加进来,所以一直有在关注 trilium 的更新情况。就在上个星期作者发布了 0.49.3 的 beta,增加了文档分享和常驻任务栏的功能。虽然还有一些 bug 没修复但是还是挺想尝试的,但是中文版的翻译者 nriver 觉得很多 bug 没修复而且是 beta 版本所以一直没更新。
终于昨天作者发布了 0.49.7 的正式版本,nriver 终于更新了新版本。在升级过程中踩了一些坑这里记录一下。
备份数据
首先当然是备份数据了,先把 docker 停掉,然后关闭桌面端后备份软件目录下或者服务端的 trilium-data
目录下的 document.db
文件即可。我这里保险起见,直接备份了整个 trilium-data
目录
下载新版本的 PC 端
进中文翻译版的 github 页面直接下来最新的 relasea 版本就可以了。
删掉旧容器
进入 vps 后使用 sudo docker rm -f tmserver
删除旧容器,tmserver
为容器名称也可以填容器 ID,如果不知道自己的容器名称或者 ID 可以使用 sudo docker ps -a
来查看所有容器
更新镜像
我这里踩了个大坑,现在还不知道怎么回事。
昨天晚上 nriver 发布了新版本后我第一时间准备进行更新,为了保险起见,我选择直接删掉旧的镜像重新下载
sudo docker rmi nriver/trilium-cn
sudo docker pull nriver/trilium-cn
但是,进行到这里的时候我发现镜像并没有更新,使用 sudo docker image ls
可以查看镜像的信息。我反复试了好久,增加 latest 标签、更换镜像源、使用加速器都不起作用。镜像的更新时间始终显示为 6 个星期前,也就是上个版本。而且运行信息显示的版本号也不太对。
后来我上群里跟 nriver 说了一下,他搞到凌晨 1 点重新打包了镜像。
但是我第二天 pull 镜像的时候还是旧版本,后来我在 hub.docker.com 上看 docker 信息的时候发现有个 DIGEST
参数,而且在拉去镜像的时候也会显示每个版本的 DIGEST
信息,所以我试着查了下这东西的相关信息,发现可以手动拉去 DIGEST
,只要在使用 pull 的时候加上 DIGEST 字符串即可。所以我做了以下尝试
# 通过在镜像名称后面增加@sha256:305e882,DIGEST的字符串即可拉取
sudo docker pull nriver/trilium-cn@sha256:305e882bc24da9da2e24391054a7b187bc25e9e388ed007fb2530b3ed854ca2f
# 但是这样拉取的镜像TAG是NONE的,我在run的时候报错了,所以我给他加了个latest标签,tag后面是镜像的ID,然后是名称加Tag
sudo docker tag 61be0df88ced nriver/trilium-cn:latest
做完这些后我使用 run 命令重新成功启动了 tmserver
加入评论