Wiki.js:把散落的知识整理成一本能搜的册子
带目录树、全文搜索、版本历史、权限控制的 wiki。适合整理家庭设备的用法、项目的文档、自己的知识库。
Memos 记的是碎片,笔记软件记的是文档。但当你有一整套"体系"要写——比如家里所有设备的说明、某个项目的完整文档——你需要的是 wiki。
Wiki.js 是这类工具里做得比较完整的一个:目录树、全文搜索、版本历史、权限,都有。
装
services:
wikijs:
image: requarks/wiki:2
container_name: wikijs
ports: ["3000:3000"]
volumes: ["./wikijs:/wiki"]
environment:
- DB_TYPE=sqlite
- DB_FILEPATH=/wiki/db.sqlite
restart: unless-stopped
打开 http://NAS地址:3000,走安装向导:填站点地址、管理员邮箱和密码。
SQLite 够个人用。多人协作、内容多了再换 Postgres。
核心:目录结构
Wiki 和笔记最大的区别是结构是提前设计的。
建议一开始就分好三层,比如:
家庭 IT
├── 网络
│ ├── 路由器设置
│ ├── 内网 IP 规划
│ └── 端口占用表
├── 设备
│ ├── NAS
│ ├── 打印机
│ └── 摄像头
└── 账号与密码策略
写内容之前先把骨架搭出来,之后往里填。目录就是搜索之外的第二条路径。
三个实用功能
一、全文搜索
它建了搜索索引,中文也能搜(配置里可以选 PostgreSQL 或 SQLite 的搜索方式)。内容多了之后,这个比翻目录快。
二、版本历史
每次编辑都存一个版本,能对比、能回滚。改坏了不怕。这一点比大部分笔记软件强。
三、权限
按组控制:给家里人只读、给自己编辑、给访客只开放某个目录。
编辑器
它支持三种:
- Markdown:最推荐,表格、代码块都方便;
- 可视化编辑器:像 Word,适合不熟 Markdown 的人;
- 代码编辑器:原始模式。
可以给不同页面设不同编辑器。
一个好用的场景
家里的"设备说明书"
把你所有设备的说明书写成 wiki:
- NAS 型号、IP、登录方式、备份策略
- 路由器后台地址、宽带账号在哪
- 打印机怎么加墨
- 电视盒子怎么装 App
为什么值得做:家里出问题时,你不在家,家人能自己查。或者你半年后忘了某台设备怎么配的,翻一下就有。
会踩的坑
中文搜索搜不到 SQLite 的全文搜索对中文支持弱。换 Postgres,或者在设置里开启中文分词。
上传图片失败
存储路径权限问题。检查 ./wikijs 目录的属主。
升级后打不开
它的版本升级偶有数据库迁移问题。升级前备份 db.sqlite。
站点地址配错
config.yml 里的 siteUrl 影响链接生成。配错会导致图片和附件显示不出来。
编辑冲突 两个人同时改同一页,后保存的覆盖前面的。它没有实时协同,重要页面改之前说一声。
它适合谁
- 有一整套知识要整理(家庭 IT、项目文档、学习笔记);
- 需要"结构 + 搜索"两条路径的;
- 想让家人也能查资料的。
不适合:只记碎片想法的(Memos 更顺);一个人写小说(那用专门的写作工具)。
最后
Wiki 的价值不在写,在结构和检索。
写的时候你会更认真——因为知道它是"给别人看的"或者"半年后的自己看的"。
有问题留言。
留言