Trilium是一个非常好用的知识管理软件,在Trilium的wiki中也介绍了几种安装方式,包括服务器端安装,基于docker安装。由于个人使用国产的麒麟系统,无法使用已发布的x86的发布包,因此按照wiki中的指南,使用docker在本地安装了Trilium,具体安装方式如下:
1、拉取镜像
可使用如下命令拉取镜像:
wget https://raw.gitmirror.com/Nriver/trilium-translation/main/docker-compose.yml
# https://raw.gitmirror.com是raw的镜像加速地址(中文版,仓库见trilium-cn)
sudo docker-compose up -d
或
sudo docker pull zadam/trilium:0.63.5
2、创建数据存储目录
mkdir trilium-data
3、启动容器
sudo docker run -t -i -d --name trilium -p 127.0.0.1:8090:8080 -v /data/workspace/opensource/trilium/data:/home/node/trilium-data zadam/trilium:0.63.5
4、设置服务自启动
通过下方命令查看docker服务是否已设置为自启动
systemctl list-unit-files | grep enable | grep docker
docker.service enabled
通过docker ps -a查询所有docker服务
zhangzhijun@zhangzhijun:/data/workspace/opensource$ sudo docker ps -a
[sudo] zhangzhijun 的密码:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c388a7840e9a zadam/trilium:0.63.5 "docker-entrypoint.s…" 4 minutes ago Exited (0) 3 minutes ago modest_euclid
44b4e5e3af7a kmre2:v2.0-220111.10 "/init.kmre" 3 months ago Exited (137) 29 hours ago kmre-1000-zhangzhijun
通过下方命令启动容器服务,并设置为自启动
# 启动
docker start c388a7840e9a
# 自动启动
docker update --restart=always c388a7840e9a
# 取消容器自启动
docker update --restart=no c388a7840e9a
# 删除容器服务
docker rm c388a7840e9a
常见问题
1、拉取镜像文件失败,具体错误描述入下:
hangzhijun@zhangzhijun:/data/workspace/opensource/trilium-cn$ docker-compose up -d
ERROR: Couldn’t connect to Docker daemon at http+docker://localhost – is it running?
If it’s at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
解决方法:
一般为用户权限问题,使用root权限解决镜像下载
sudo docker-compose up -d
或
sudo docker pull zadam/trilium:0.63.5
2、镜像拉取后解压失败
failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar heade
/usr/lib/systemd/system/docker.service
Environment=”MOBY_DISABLE_PIGZ=true”
3、docker镜像启动后监听断开与启动时不一致,网页无法访问
查看指定的data目录下方是否存在config.ini文件,若存在,会优先读取data目录的config.ini文件的配置,因此在启动容器时,指定的容器端口需要与config.ini中的一致。