从零开始的Trilium安装教程

前言

trilium 是一款伟大的笔记软件,也是我重度使用 1 年多的生产力工具,但使用门槛实在是太高(需要部署、服务器、域名、反代、没有中文……),所以在国内知名度远不如 ob、logseq、思源等一众软件。

但只有部署服务端才能充分体会到 trilium 的强大之处,部署服务端后有以下优点:

今天为大家带来一篇从零开始的 trilium 安装教程,教你如何一步一步搭建自己的笔记系统。

准备工作

一台服务器

国内云服务

国内云服务器一般是阿里云、腾讯云这些,如果你之后需要在 trilium 基础上搭建博客的话,我不推荐使用国内云服务,因为往往是低配高价小水管,而且之后涉及备案等程序比较麻烦。

国外云服务

cloudcone 和 racknerd 是两家配置不错且价格低廉的云服务商,但 racknerd 的服务器性能比同价位的 cloudcone 高一点,我推荐使用 racknerd 作为搭建 trilium 的服务器。

正好近期开始了新年特惠,价格十分合适,而且支持支付宝付款,可以说是非常友好了。

主机配置价格直达链接
内存:1G
CPU:1C
磁盘:21GB
每月流量:1500GB
$11.49/年链接
内存:2G
CPU:1C
磁盘:35GB
每月流量:2500GB
$17.38/年链接
内存:3G
CPU:2C
磁盘:45GB
每月流量:5000GB
$27.98/年链接

第一档配置已经足够运行 trilium,如果只是运行 trilium,我建议先购买第一档,等以后有需求了再升级配置。

如果打算配置博客以及服务器上还想运行其他服务,比如 bitwarden、访问统计、图床等,可以按需购买其余两档。

点击链接后首先需要注册,racknerd 支持中文,根据界面引导进行注册即可,但中间有一步需要填写美国地址,建议使用美国地址生成器生成一个假地址。

填入生成的美国地址

在购买前你可以设置一些选项:

其中:

  • 「Location」选项表示机房位置,你可以自己 ping 一下测试地址,哪个快选哪个就好,不过之后的教程中我们会给 ip 套 cf,所以其实选哪个都无所谓。
  • 「Operating System」表示操作系统,建议选择 debian 系。

购买成功后,racknerd 官方会发送一封包含你服务器信息的邮件,里面包括服务器的 ip 地址、root 密码等,这是很重要的信息,建议妥善保存。

一个域名

namesilo 作为一家老牌的域名经销商,是购买域名的不二之选,官网地址:https://www.namesilo.com/

首先前往 官网 注册一个账号。

注册完毕后在顶部搜索栏搜索你想购买的域名,比如:nerdsid ,系统会弹出可购买的域名列表:

如图所示我们可以购买 nerdsid.xyz、nerdsid.top 等域名,且 nerdsid.com 已经被他人持有。其中红色划线的表示续费价格,黑色加粗字体表示首次购买的价格。

可以看到.top域名的首购价格和续费价格均比较合适,建议购买.top域名。

点击下方的蓝色购物车按钮后,这个域名就会被加购到购物车中,在购物车中点击大红色的【CHECKOUT】按钮即可支付,namesilo 同样支持支付宝付款(都想赚中国人的钱是吧)。

ssh 通信工具

云服务器是运行在遥远的美国大陆,所以我们需要通过 ssh 访问到我们的云服务器。

Terminus 是一款跨平台的 ssh 软件,建议使用。官网地址:https://termius.com/

当然,好用的终端工具还有很多,比如 xshell、tabby,选一个自己喜欢的就好。如果只是跟着我的教程的话,直接呼出 windows 自带的 cmd 就可以开始部署了,下文就以 windows 自带的终端作为演示。

cloudflare 托管

cloudflare 是一家网络基础设施和安全公司,提供内容分发网络(CDN)、DDoS 防护、云安全服务等,是各位站长的老朋友了。

在进行正式部署 trilium 前,我们可以使用 cloudflare 托管我们的网站,这能够隐藏我们服务器的真实 ip,并且能在一定程度上对我们的网站进行防护。

首先登陆 cloudflare,点击添加站点:

点击继续,界面会提示你需要使用什么计划,我们选择【Free】即可,点击继续,接下来到第三步,将域名的名称服务器更改为 cloudflare。

这一步需要在 namesilo 中操作,让我们回到 namesilo,登录仪表盘,进入到这个界面:

找到你之前购买的域名,点击我箭头标注的位置,会弹出以下界面:

将默认的三个 NameServer 删除,依次填入 cloudflare 的名称服务器:

点击【Submit】,这一步就完事了,修改名称服务器需要一点时间,以我个人经验来看,一般半个小时到两个小时就会修改好,等更新完毕后此处会显示成「有效」。

等待名称服务器更新后就可以使用 cloudflare 配置 dns 记录,点击仪表盘的【DNS】选项,点击【添加记录】按钮:

其中【1.1.1.1】请替换成你的 ip 地址,记得在【代理状态】中点上勾,这样 cloudflare 才会托管你的网站,一切就绪后点击保存即可。

部署 trilium 服务端

trilium 支持源码部署和 docker 部署两种方式,选择适合自己的就好,小白建议使用docker 部署

trilium 官方只有英文版本,不过有一个国人翻译的中文仓库:Nriver/trilium-translation,各位自行抉择。

本教程默认使用官方原版。

注意:配置服务端完成后,请先不要在服务端的 trilium 中进行任何操作!

源码部署

下载源码

前往 releases,获取最新服务端压缩包的链接(名称为:trilium-linux-x64-server-0.62.4.tar.xz)。目前最新版本是 v0.62.4,下载链接为:https://github.com/zadam/trilium/releases/download/v0.62.4/trilium-linux-x64-server-0.62.4.tar.xz(下文以此为示例,请自行替换为最新链接)。

首先使用登录云服务器:

ssh root@你的 ip

终端会提示你输入密码,将密码复制到终端中,按下回车,登录成功的话会显示类似这样的信息:

Linux servervpn 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Dec 29 16:51:09 2023 from 36.21.206.141
root@servervpn:~#

这表示成功登录了远程服务器,接着输入以下指令:

wget https://github.com/zadam/trilium/releases/download/v0.62.4/trilium-linux-x64-server-0.62.4.tar.xz

此时输入ls指令会发现目录下多了一个名为trilium-linux-x64-server-0.62.4.tar.xz的文件,依次运行以下指令:

tar -xf trilium-linux-x64-server-0.62.4.tar.xz
mv trilium-linux-x64-server /opt/trilium
cd /opt/trilium
./trilium.sh

配置自启动

此时通过 http://[你的 ip]:8080 应该可以访问 trilium 的初始化页面了,能访问之后先别急,让我们把 trilium 设置为自启动:

vim /etc/systemd/system/trilium.service

粘贴以下内容:

[Unit]
Description=Trilium Daemon
After=syslog.target network.target

[Service]
User=xxx
Group=xxx
Type=simple
ExecStart=/opt/trilium/trilium.sh
WorkingDirectory=/opt/trilium/

TimeoutStopSec=20
# KillMode=process leads to error, according to https://www.freedesktop.org/software/systemd/man/systemd.kill.html
Restart=always

[Install]
WantedBy=multi-user.target

其中 User 和 Group 需要填写你实际的值,root 用户一般填写root

应用自启动:

sudo systemctl enable --now -q trilium

更新流程

执行指令删除 trilium:

rm -rf /opt/trilium

之后重新进行安装流程即可。

docker 部署

安装 docker

使用以下命令安装 docker 本体:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

为 docker 设置开启自启:

 systemctl enable docker

docker 常用指令

  • docker ps 查看当前正在运行的容器
    • -a 查看所有容器 ID
  • docker stop [CONTAINER ID] 停止指定 CONTAINER ID 的容器
  • docker rm [CONTAINER ID] 移除容器

安装 trilium

拉取最新镜像:

docker pull zadam/trilium:[VERSION]
# 其中[VERSION]为 Trilium 的版本号,比如要拉取 v0.62.4,则使用以下命令
docker pull zadam/trilium:0.62.4

将镜像挂载到本地并运行:

docker run  --restart=always -d -p 0.0.0.0:8080:8080 -v ~/trilium-data:/home/node/trilium-data zadam/trilium:[VERSION]

更新流程

  1. 使用 docker ps 确定trilium 容器 ID
  2. 使用 docker stop [容器 ID] 停止当前正在运行的容器
  3. 使用 docker rm [容器 ID] 移除 trilium 容器
  4. 之后按照安装镜像的流程重新进行一遍即可

反向代理

虽然经过以上步骤我们可以通过http://[你的 ip]:8080的方式访问 trilium,但是也太不优雅了,这就需要进行反代,反向代理工具我推荐使用 caddy2,配置简单,自带 ssl。

安装 caddy2

依次执行以下指令安装:

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install caddy

配置反向代理

执行指令:vim /etc/caddy/Caddyfile,粘贴以下内容:

你的域名 {
  reverse_proxy localhost:8080
}

运行 caddy2:

systemctl start caddy

使用以下指令将 caddy2 配置成自启动:

systemctl enable caddy

这一步完成后你就可以通过https://[你的域名],访问 trilium 服务端了,这样是不是优雅多了。

 

配置客户端同步

同样在 releases 中根据你的实际操作系统下载对应客户端,假设你是 windows 系统,点击【trilium.exe】即可打开软件,打开软件的第一步需要进行初始化:

这里选择第一个选项,初始化一个 trilium 笔记仓库,点击【Next】即进入 trilium 笔记界面。接下来需要配置同步,将客户端与服务器链接起来。

首先,通过浏览器打开 trilium 服务端:https://[你的域名] ,选择第二个选项:

点击【Next】后会进入下一个界面:

这里提示你需要在客户端中填写你的服务器地址,到这一步时浏览器先放一边,不要关闭。

打开 trilium 客户端,点击左上角 trilium 的图标,进入【Options - Sync】选项:

在【Server instance address】中填写你的服务器域名,其他不用填,点击【Save】按钮保存后,点击下方的【Test sync】按钮,如果没有弹出什么报错,则代表链接成功。

这时返回浏览器,点击我红色箭头标注的位置,服务器会开始自动同步,等同步成功时,浏览器会自动重定向到 trilium 笔记界面。

搭建博客(可选)

有不少人或许是看了我的 全新的博客发布体验 - 基于 Trilium 实现完美的博客发布方案之后才对 trilium 感兴趣的。那么这里再来一个简单的博客配置教程。

导入博客主题包

首先需要按照 Trilium 博客主题:Ankia 使用指南,安装博客主题。

但此时我们只能通过https://[你的域名]/share访问博客,但这也太 low 了,所以我们需要一个二级域名进行反代。

配置二级域名

配置二级域名同样在 cloudflare 中进行。

新建一个 A 记录,比如你想通过blog.域名访问你的博客,那么就在名称一栏中填写blog,IP 地址改成你服务器的地址,点击保存即可。

配置反代

在上文中我们使用 caddy2 进行反代,同样的我们打开 Caddyfile:vim /etc/caddy/Caddyfile,在末尾加入:

二级域名 {
  @notShare {
    not path /share
  }
  rewrite @notnotShare  /share{uri}
  reverse_proxy localhost:8080
}

修改 Caddyfile 文件后需要重载:

systemctl reload caddy

现在你可以通过https://blog.域名访问你的博客了!

结语

到此全部的部署已经结束,当然这只是开始使用 trilium 的第一步,还有更多好玩高级技巧等你探索,之后我也会分享自己的使用心得和高级技巧,欢迎关注。

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录