火爆外网的「个人笔记+个人待办」,极空间部署Jotty.Page
都说更好的自我管理,要从习惯记录这件事开始。
每年新年我都会给自己立下很多的小目标,比如坚持锻炼、坚持读书、坚持学习,这些目标很困难,所以我干呀干呀不小心就了半途而废了。
比起直接干,或许先做一些简单的新年目录记录,培养这种习惯,反而能促进我的动力?于是我开始寻找一些 to-do 类的应用。
但是找来找去,要么就是项目太工程化,要么就是太简单,没有一款性能不高,功能适中的应用,至少我发现了外网很火的「Jotty.Page」。
Jotty·Page 是一款极其轻量且功能强大的自托管清单与笔记管理应用。它专为追求简约、隐私和数据自主的用户设计,旨在成为 Google Keep 或 Obsidian 的轻量化替代品。

设计哲学是“无数据库、文件存储、隐私至上”,所有数据都保存在自己的服务器上,还能让你对笔记进行加密/解密,带来个人安心。这一点就和我们的 NAS 十分匹配了~
• 无数据库设计:所有清单、笔记和用户信息均以 Markdown 和 JSON 文件形式存储在本地文件夹中。这意味着备份、迁移和恢复只需要简单的复制粘贴。
• 多功能清单:支持简单的任务列表,也支持更高级的任务管理(带进度条、分类、看板模式及时间跟踪)。
• 富文本编辑器:内置基于 TipTap 的所见即所得编辑器,完美支持 Markdown 语法、语法高亮和表情符号。
• 数据加密:支持全盘 PGP 加密,确保即便服务器被入侵,敏感笔记也无法被轻易读取。
• PWA 支持:虽然没有原生手机 App,但它是一款功能完备的渐进式 Web 应用(PWA),可以直接在手机浏览器中“添加到主屏幕”,获得类原生应用的使用体验。
• 高度可定制:内置 14 种主题,支持自定义图标、表情,甚至可以手动编写 CSS。
• 团队协作:支持在同一实例下多用户管理、笔记共享以及公共分享链接。

一、Jotty.Page 体验
Jotty.Page 是一款支持多用户的「清单&笔记」应用,所以首次部署以后注册的就是管理员权限。管理员可以看到所有子用户设置的代办清单和文档笔记,权限最高。

进入系统以后,可以点击管理员右上角的设置进入后台。在这里我们可以创建新的子用户(普通权限/管理员权限),并且可以设置 SSO & OIDC。

1、任务清单
先来看看 Jotty.Page 的清单功能吧。它是以文件夹为层级的一种清单,以 json 格式保存在本地文件里。我们可以创建多个层级的清单目录,用于进行详细的清单分配。

清单支持 简易列表、项目任务两种,每一项任务下又可能设置不同的任务明细。

用户可以设置自定义的状态管理,默认的有 代办、进行中、完成、暂停 四种,不同的状态支持使用不同的颜色标签。

下图是简易列表,纯粹的被分为 代办、完成 两种状态,点击状态就可以来回切换。

下图是项目任务,拥有更直观的卡贴展示方式,不同任务通过拖拽、勾选的方式进行切换,更像是工程里的 to-do 列表。

Jotty.Page 支持多种方式的任务总览,支持筛选、过滤、归档等操作,界面直观、简约大气。

2、笔记模块
笔记是 Jotty.Page 的第二大模块,它支持 markdown、富文本 两种模式,拥有所见即所得的在线编辑器,可以作为轻量化的思源、Obsidian 使用,无需烦恼同步的问题。

这种笔记,都是以 markdown 的格式保存在 NAS 本地的,备份、迁移都很方便。

值得一提的是,笔记还支持两种加密模式,所以哪怕服务透射到了外网,也不用担心笔记数据泄露风险。

在界面风格上,常用的黑暗模式、白天模式都支持,并且还支持自定义 CSS 和图标颜色,DIY 属性拉满。

3、手机端效果
Jotty.Page 的手机端适配也特别好用。打开极空间的远程访问,在配置页面务必勾选上这个代理模式,接着就可以正常打开使用了。

to-do 列表,笔记,markdown 等都有单独的适配页面,使用更方便,打卡的时候我直接打开极空间 APP 就可以,也无需安装其他 APP。

二、部署 Jotty.Page
本次部署使用极空间Z4 Pro为示例设备。其实在极空间 ZOS 系统里,有一个类似 Jotty.Page 的应用,叫做记事本,它是一款跨平台、跨客户端的笔记应用,支持普通文本和 markdown 格式文本。所以如果平时没有很强烈的打卡需求,光是记录的话用这个应用也足够了。

Jotty.Page 是一款比较特殊的容器项目,它在容器内限定了用户权限为"1000:1000",这就导致极空间的文件结构没办法直接部署,需要一些小技巧。
1️⃣方案一:开启了SSH,修改文档所有者,缺点是开启极空间的 SSH。
2️⃣方案二:使用 docker volume 来规避权限问题,缺点就是数据存在卷里,后续备份需要通过 docker 指令,也可以参照我之前介绍过的 docker-volume-backup 这个项目来解决。
🔻方案一部署方法
首先开通极空间的 SSH 功能,首次开启会有一个售后提示,确认即可。

接着打开Finalshell(自行下载),点击文件夹添加 SSH 连接,在红框内输入极空间对应的ip、ssh端口、手机号、密码登录。

登录之后,输入指令sudo -i切换到 root 权限,然后输入登录账号的密码。

接着回到极空间的 docker 应用界面,打开 compose 标签,将下面的 yaml 代码填入。
services:
jotty:
image: ghcr.io/fccview/jotty:latest
container_name: jotty
user: "1000:1000"
ports:
- "3122:3000"
volumes:
- 路径/jotty/data:/app/data:rw
- 路径/config:/app/config:rw
- 路径/cache:/app/.next/cache:rw
restart: unless-stopped
environment:
- NODE_ENV=production

在第四个步骤修改【路径】的时候,点击上方的查询路径,来到我们平常使用的 docker 文件夹,创建三个目录./jotty/data,./jotty/cache,./jotty/config,并且在根目录点击复制路径去替换。

然后回到 finalshell 界面,以此输入指令如下,完成以后,回到 docker 应用页面,点击部署应用。
cd 我们刚才复制的路径
chown -R 1000:1000 data/ config/ cache/

这种方案部署的好处,就是以后所有的文件、代办列表,都可以直接在极空间文件管理里操作,复制、备份也会很方便。

🔻方案二部署
这种方案就简单很多了,我们直接打开 docker-compsoe 部署,不需要再去配置文件夹和权限。
services:
jotty:
image: ghcr.io/fccview/jotty:latest
container_name: jotty
ports:
- "3122:3000"
volumes:
- jotty:/app
restart: unless-stopped
environment:
- NODE_ENV=production
volumes:
jotty:
但是这种方案就是未来想要备份数据比较麻烦一点。

总结
作为最新的一款「清单&笔记」应用,Jotty.Page 很好的整合两者,可以作为 memos、思源、obsidian 等应用的轻量级版本。
它最为出色的地方就是在于所有的文档内容都是在本地以文件夹形式保存的,主打的无数据库模式,不用担心未来迁移到其他服务的成本。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友6952829349
校验提示文案
轻浅微凉
校验提示文案
轻浅微凉
校验提示文案
值友6952829349
校验提示文案