Linux / Nas / 自建服务 · 2022年9月16日 1

自建知识管理平台trilium

j今天跟大家聊聊笔记应用,最早的时候我们用系统自带的笔记本,只有文字,一个自带笔记本解决一切,然后就放在电脑硬盘里,那时候我觉得硬盘就是世界上最安全的文档居所

h后来有一个应用叫evernote,进入中国市场后,它得名字叫某象笔记,那时候无数人赞美它,给它钱,成为它的用户

一个随手笔记凭什么收我的钱,更多的人觉得免费账户就可以了,

eevernote官方对此表示了强烈不满,一再降低免费账户的终端限制数量,然后在运行中不停的校验连接的终端数量,极大的降低了用户体验,那段时间我是直接骂它娘的

再就是无处不在的广告,即使你交了会员费,广告也不会放过你,我不晓得evernote官方在想什么,或许它认为用户习惯已经养成,只能乖乖交钱

于是,这个应用成了一坨狗屎,不停的给用户喂,为你写诗

z在这期间有有道云笔记,为知笔记,但是他们只是evernote的模仿者,即使有一些自己的特色,但是并不足以取而代之

b不久后一个划时代的应用出现了,它叫notion,这个应用是如此的强大,

在整个架构上它是一个wiki,无线目录层级,每一层都可以存放内容

z在功能上,它有很多非常高级的特性,甚至有database功能,

但是在中国大陆你是打不开这个应用的,这是每一个涉及到内容分享功能的应用的宿命

d即使如此,notion依旧拥有巨大的用户群体,足以昭示它的强大

w我甚至为它掏了钱,还把evernote上所有的笔记一篇篇的放到了notion上,然后删掉了evernote

为什么我还在寻找笔记应用呢,

互联网发展太快,互联网的服务更新换代太快了,一代又一代

s商业公司的寿命是短暂的,而商业产品的寿命是更加短暂的,强大如谷歌,被杀死的应用也是不计其数

w未来比notion更加优秀的知识管理工具一定会出现,那时候我又要经历一次数据的大迁移,这个过程是痛苦的甚至是具有风险的

无论是学习还是工作,抑或是生活,我们都有很多需要记录的文字,这个需求确实永恒的,

从第一次摸到那排列奇怪的键盘,从第一次走入陌生的网易聊天室,从申请的第一个邮箱账号,从申请的第一个qq号

在互联网上,你的数据从来就不属于你,而是被用来叫价的筹码

w我需要一个可以由我掌控的应用,管理属于我的数据,

似乎markdown就可以帮我完成这一切

我试图使用vscode+git+gitlab的方案,通过markdown插件实现了图文笔记编辑展示,实现版本管理与数据备份

但是我很快意识到这样的方式只能实现基本的笔记应用,这远远不够

y于是我总在有意无意的关注笔记应用

z终于有一天,我发现了一个叫trilium的docker镜像

好奇心驱使下,我搜到了这样的评价:超高自由度的个人知识库

分层级的知识库

首先,它是一个分层级的知识库,同notion一样,在trilium中,文件夹的概念消失了,一切内容都是节点,一个节点可以是内容节点,同时也是父节点,每一层节点都可以有自己单独的内容格式存放单独的内容,并且组成更加复杂的结构

g更加神奇的是,trilium中节点可以被复用,同一个节点可以是不同节点的子节点,通过这种克隆和分支,trilium中的节点不是分支树,而是一个网状树

z这个功能有什么用呢,一个节点的不同维度可以成为一个特征节点,一个节点无论被多少节点引用,只要一次修改,所有的视图中都可以看到这个修改

b版本管理

trilium会把每次保存的内容保存成一个新的版本,这意味着你可以轻易找到被你删掉的内容,误删除,误修改都不是事。

在任何商业产品中,版本管理都是超高级的vip功能

j加密笔记

每一篇笔记都是可以单独加密的,这个功能有多好只有用的到的人才懂啊

w网页剪辑

z这个功能基本不需要多说,笔记应用必备,一键保存我们找到的文档到笔记中,也可以把网页截图保存

l另外,trilium会把内容自动保存在对应日期节点中,这个不知道能不能修改成可以自由选择,知道的朋友请告诉我

f富文本支持

通过markdown实现,笔记编辑使用的是ckeditor,支持直接粘贴markdown内容,如果你在使用其他的笔记应用,要想使用trilium是没有迁移困难的

d多媒体和文件管理

ttrilium的文件管理不依赖外部目录,这些多媒体文件也是节点的形式存在在trilium数据库中,这意味着,它可以很容易实现全平台同步

f值得一说的功能

btrilium中没有文件夹与笔记的区别,只有节点,而节点是有属性的

笔记类型,文本就是普通笔记

关系图,可以做类似族谱的东西

x渲染笔记,

h画布,顾名思义,画布可以直接用来画图,我测试了一下,这个画布甚至支持手写板压感。。。

s书,应该主要是做读书笔记之类的

w网页视图,

d代码,支持多种常见代码格式,码农应该很喜欢

以上是笔记相关的功能

多平台支持

ttrilium可以作为一个单独的本地笔记应用来使用,数据的备份可以通过把数据同步到网盘里来实现

d但是作为一个docker爱好者,对服务平台的搭建是必不可少的

ttrilium可以通过docker镜像搭建成一个服务,然后其他的终端可以直接与服务器定时的同步,来保证笔记数据的一致

l另外windows客户端也可以是可以作为服务端来使用,如果是单机使用 可以以此用来给浏览器剪辑插件使用

搭建trilium服务非常简单

docker run -d --restart unless-stopped --stop-timeout 300 \
	--name trilium \
	-p 8080:8080 \
	-v /srv/dev-disk-by-label-data/dockers/trilium:/home/node/trilium-data \
	-v /srv/dev-disk-by-label-data/dockers/trilium/backup:/home/node/trilium-data/backup \
	-e TZ=Asia/Shanghai \
zadam/trilium:0.54.3

z注意-v 后面的冒号前面的是你的nas或者linux服务器的真实目录,需要根据你的情况自行修改,冒号后面的是容器内的目录,不要修改

r然后在windows客户端,填上搭建的服务,http://ip:8080,提示同步成功后就可以了

每次修改完毕后,左下角的同步标识会标记星号,定时自动同步,也可以手动同步

e而浏览器插件剪辑也需要与服务器端进行同步,填写上服务器端的ip和端口以及密码

x现在就可以愉快的使用这个笔记应用了

s说实话,这个笔记应用对我来说几乎是一个完美的应用,除了它没有移动客户端

z在移动端如果想要使用的话,只能通过内网穿透然后在移动端通过浏览器打开服务端来使用,虽然颇有不便,但是应急还是可以的

r如果对此你颇有不屑,认为没有移动端的应用不是好应用,但我想说的是,对于一个功能如此强大的笔记应用,要完全在移动端复现它的功能并不容易

z做一个免费开源的笔记应用,它已经足够好了,如果您有足够的实力,请给它做一个移动端,如果它足够好用,我相信,会有足够多的人愿意为此付费。

从txt到markdown

c从某象到notion

w我们有很多需要记录的思维碎片,但互联网是不可靠的

j几乎没有可以永久为我们提供服务的互联网存在

s随着互联网基础设施的升级,互联网用户的需求也在快速的变化,那些曾经辉煌美好的应用慢慢的死掉,一起埋葬的还有我们人生的美好回忆

不知道从何开始我有了积攒数据的习惯,尽可能把一些重要的数据存放在我自己的手中,

硬盘1t不够就4t,4t不够就10t

1块不够就2块,2块不够就4块

nas一台不够就两台,两台不够就三台

r人们常说时间可以消磨一切,那是因为人无法记住很多东西,时间消磨得不是痛苦或者美好,而是记忆

有了那些不灭的记忆我才之所以是我

j就让nas中一块块的硬盘帮我们保存记忆

以上,请享受trilium为你准备的美好

别忘了关注,我是张大七

那下期再见了。