群晖NAS笔记系统,让你秒变效率达人!
最近,我一直在琢磨如何利用群晖NAS来部署一个笔记系统。
事情的起因是我有一个OneDrive突然失效了,那个账号不知怎么搞的,居然是个OFFICE365的E5账号。我一直使用ONENOTE来做笔记,并且是WIN10版本的ONENOTE。然而,当OneDrive失效后,笔记无法导出,甚至连OFFICE的ONENOTE也打不开,只能一点点地手动复制,搞得我心态几近崩溃。
本来,我很喜欢使用Notion的,但外网的速度一直不给力。于是我开始考虑是否可以在群晖上部署一个本地的笔记系统,不过觉得太复杂了,就一直拖着。
Obsidian
直到我遇到了Obsidian,这才是心中的“白月光”:Markdown文本、本地存储、反向链接、关系图谱……不仅可以制作思维导图和流程图,甚至不怕折腾的话,连甘特图都能搞出来!通过群晖的WEBDAV进行文件存储,在家用局域网操作非常方便,备份也简单快捷。加上丰富的插件,Obsidian的拓展功能真的是强大到没朋友。
在群晖上开通WEBDAV
首先,在群晖上安装WEBDAV SERVER套件。公网IP当然是必须的!
然后,使用RaiDrive将其映射为本地磁盘。只需在套件中心安装WebDAV Server,启动后勾选启用HTTP和启用HTTPS的选项。你还可以根据需要自定义端口号。不过,建议使用HTTPS来保障连接的安全。设置完成后,你就可以通过Windows、Mac或Linux设备访问群晖上的文件了。
使用RaiDrive进行同步
在RaiDrive的工具栏上点击添加,选择NAS选项卡。这么一来,你所有的电脑都能通过WEBDAV访问到NAS的磁盘了。Obsidian也可以通过这种方式来进行同步,非常便捷。

思源笔记
思源笔记相对简单,只需在WEBDAV中创建一个文件夹,所有安装了RaiDrive的电脑都可以轻松同步。思源笔记界面漂亮,可以设置封面、图标等等,以下是使用中的效果图。

不过,使用一段时间后,我发现它并不完全适合我的需求。在一些需要发散思维的场景中,我更倾向于使用Xmind Zen。相比之下,思源笔记的块状结构显得有些繁琐,在便利性上也不如Obsidian。

Affine笔记
Notion确实好用,但Affine作为一个可以部署在NAS上的笔记工具,拥有诸多现代化功能,给人眼前一亮的感觉。然而,最大的挑战就是部署了!
打开FileStation
在docker文件夹下新建affine文件夹,然后再在affine文件夹新建四个文件夹
手动在你指定的目录下面创建postgres、redis、storage、config四个文件夹
容器配置
打开Container Manager –> 项目 –> 新建

项目名必须是小写字母,然后在docker-compose.yml下填入
services:
affine:
#镜像标签选择stable为稳定版,选择canary为最新发布版本
image: ghcr.io/toeverything/affine-graphql:stable
# image: ghcr.io/toeverything/affine-graphql:canary
container_name: affine_selfhosted
command:
['sh', '-c', 'node ./scripts/self-host-predeploy && node ./dist/index.js']
ports:
- '56789:3010' #WebUI端口
- '56788:5555'
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
volumes:
- ./config:/root/.affine/config #自定义配置文件存储路径
- ./storage:/root/.affine/storage #自定义存储文件路径
logging:
driver: 'json-file'
options:
max-size: '1000m'
restart: unless-stopped
environment:
- NODE_OPTIONS="--import=./scripts/register.js"
- AFFINE_CONFIG_PATH=/root/.affine/config
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgres://affine:affine@postgres:5432/affine
- NODE_ENV=production
- AFFINE_ADMIN_EMAIL=cgakki@wx.com #Affine官方注册的云端账号
- AFFINE_ADMIN_PASSWORD=a123456 #Affine官方注册的云端密码
redis:
image: redis
container_name: affine_redis
restart: unless-stopped
volumes:
- ./redis:/data #自定义redis存储路径
healthcheck:
test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping']
interval: 10s
timeout: 5s
retries: 5
postgres:
image: postgres
container_name: affine_postgres
restart: unless-stopped
volumes:
- ./postgres:/var/lib/postgresql/data #自定义postgres存储路径
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U affine']
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: affine
POSTGRES_PASSWORD: affine
POSTGRES_DB: affine
PGDATA: /var/lib/postgresql/data/pgdata
至此,配置就完成了,一直下一步就可以编译启动你的Affine容器了。
各种文章看起来都很简单,输入ip:56789后似乎就可以显示了,但问题随之而来。不管我怎么设置,填入邮箱后总是提示:“Failed to send email. Please try again.”这意味着我无法使用管理员账号。
为了解决这个问题,我查找了大量资料,结果本来晚上11点就该部署成功的笔记,折腾到凌晨3点半还是没法登录。最后发现,只要在/config/.env文件中设置邮箱就能成功发送邮件。这里我用的是QQ邮箱,设置如下:
MAILER_SENDER=888888@qq.com
MAILER_USER=888888@qq.com
MAILER_PASSWORD=邮箱设置
MAILER_HOST=smtp.qq.com
MAILER_PORT=465
邮件发送成功后,我终于可以使用Affine了。我将最近的工作内容整理了一下,效果如下图。


通过思维导图、小便签、链接文件,甚至图标、图案、PDF、图片等,所有的内容都可以无缝展示在一个无限的桌面上,完全自由地展示当前的工作内容。
正当我用得不亦乐乎时,突然发现了一个令人抓狂的问题——浏览器不能复制内容!一个没有复制功能的笔记软件?
我冷静地退出浏览器,尝试将未完成的笔记复制到Obsidian继续写作,结果郁闷地发现:根本复制不出来!最终只能导出为MD文档,再用Obsidian打开。虽然Obsidian写文章的体验真的很棒,但Affine的自由度还是让我心动。
事后,我仔细思考,觉得笔记软件不支持复制简直不合常理。于是去官网测试了一下,发现复制功能在官网是没问题的,那么问题可能出在我自己的部署环境上。
在Affine的官方GitHub主页:https://github.com/toeverything/AFFiNE/ ,有一个issue:#Cannot copy and paste #5610 ,其中有用户和我遇到了同样的问题。最终的解决方案是:
Hi, you can set the flag in Chrome to disable the Secure Contexts in the trusted sources. Input the chrome://flags/#unsafely-treat-insecure-origin-as-secure in URL to set.
简单来说,Chrome浏览器用户需要在chrome://flags/#unsafely-treat-insecure-origin-as-secure 中启用这个设置,并在下方文本框中输入你使用Affine的域名。
有人解释了其中的原因:
Unfortunately, due to the restriction of browsers, many features like Clipboard only work under Secure Contexts (i.e. HTTPS or localhost). I would recommend you either setup your own CA, or proxy the server to the localhost.
看了半天,我决定暂时不去研究CA证书,就这样用着吧!
至此,关于在NAS上折腾笔记的过程就告一段落了。Affine以后可能还会遇到不少问题,但我相信都可以解决。这篇文章是在Obsidian中完成的,Obsidian写作体验真的很好!不过,它在发散思维方面不如Affine,而思源笔记嘛……以后再说吧!

校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案