Trilium 升级流程

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

加入评论