群晖NAS笔记系统,让你秒变效率达人!

2024-08-13 16:55:13 37点赞 379收藏 28评论

最近,我一直在琢磨如何利用群晖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也可以通过这种方式来进行同步,非常便捷。

群晖NAS笔记系统,让你秒变效率达人!

思源笔记

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

群晖NAS笔记系统,让你秒变效率达人!

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

群晖NAS笔记系统,让你秒变效率达人!

Affine笔记

Notion确实好用,但Affine作为一个可以部署在NAS上的笔记工具,拥有诸多现代化功能,给人眼前一亮的感觉。然而,最大的挑战就是部署了!

打开FileStation

在docker文件夹下新建affine文件夹,然后再在affine文件夹新建四个文件夹

手动在你指定的目录下面创建postgres、redis、storage、config四个文件夹

容器配置

打开Container Manager –> 项目 –> 新建

群晖NAS笔记系统,让你秒变效率达人!

项目名必须是小写字母,然后在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了。我将最近的工作内容整理了一下,效果如下图。

群晖NAS笔记系统,让你秒变效率达人!群晖NAS笔记系统,让你秒变效率达人!

通过思维导图、小便签、链接文件,甚至图标、图案、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,而思源笔记嘛……以后再说吧!

展开 收起
28评论

  • 精彩
  • 最新
  • affine跟notion比较像,最喜欢的还是trilium。

    校验提示文案

    提交
    感觉复杂了点,好像还可以运行一些 js

    校验提示文案

    提交
    部署非常简单的,而且极为自由,每一条笔记的图标,标题,内容都可以自定义

    校验提示文案

    提交
    收起所有回复
  • 很专业,很厉害!

    校验提示文案

    提交
    一起进步!

    校验提示文案

    提交
    收起所有回复
  • 为啥整这么复杂,群晖自己的synology drive不是很简单吗?

    校验提示文案

    提交
    赞同,多端同步,稳定好用

    校验提示文案

    提交
    有bug,双向同步大于100MB的文件无法同步到电脑端,而且B电脑端更新的内容,在A电脑竟然没有同步,很怪?

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 先马再部署

    校验提示文案

    提交
  • 手机上有没有app可以远程支持?

    校验提示文案

    提交
  • 我也最后选择的trilium.

    校验提示文案

    提交
    复杂吗

    校验提示文案

    提交
    我觉得很复杂,而且不太中文

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 懒人就想加个源一键部署 [大囧]

    校验提示文案

    提交
  • 用了太多 最后还是trilium

    校验提示文案

    提交
  • 我是obsidian搭配群晖的driver,稳定够用不折腾

    校验提示文案

    提交
  • 终于等到你

    校验提示文案

    提交
  • 公网IP咋搞

    校验提示文案

    提交
  • 数据不能存在nas上...

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
379
扫一下,分享更方便,购买更轻松