前言
Obsidian 是一款非常强大的知识管理和笔记应用程序,不过它的笔记都是保存在本地的,如果想要进行多端同步,有Obsidian Sync服务、第三方云同步服务(Dropbox、iCloud等)或者一般人玩不懂的Git。今天来介绍一款使用体验近乎Obsidian官方的免费多端同步方案:obsidian-livesync,通过它(https://github.com/vrtmrz/obsidian-livesync)可以把同步服务搭建在群晖上,这样安全性和稳定性都能到保障
安装
打开群晖的【Container Manager】,搜索couchdb,选择第一个couchdb下载最新版本的镜像,CouchDB 其实是一个文档数据库

在等待下载过程中,先创建好couchdb数据存放的文件夹,文件夹名任意(这里叫obsidian),再创建一个名为data的文件夹,并在电脑上创建local.ini文件,填入以下内容,再上传到data文件夹的同级目录下
[couchdb]
single_node=true
max_document_size = 50000000
[chttpd]
require_valid_user = true
max_http_request_size = 4294967296
[chttpd_auth]
require_valid_user = true
authentication_redirect = /_utils/session.html
[httpd]
WWW-Authenticate = Basic realm="couchdb"
enable_cors = true
[cors]
origins = app://obsidian.md,capacitor://localhost,http://localhost
credentials = true
headers = accept, authorization, content-type, origin, referer
methods = GET, PUT, POST, HEAD, DELETE
max_age = 3600
回到Container Manager套件,运行刚刚下载好的couchdb镜像,可以更改容器名称便于后期维护

下一步,把多余的端口去掉,留下容器5984端口,群晖添加任意端口进行映射(这里演示5985);存储空间添加文件夹为前面创建的data文件夹,容器文件夹为/opt/couchdb/data,点击添加文件按钮,添加前面创建的local.ini文件,容器路径为/opt/couchdb/etc/local.ini

添加环境变量COUCHDB_USER和COUCHDB_PASSWORD,分别配置couchDB用户名和密码,为了安全,建议设置更为复杂的密码(演示为admin和123456)

其他配置默认不变,点击完成后,直接运行容器。访问http://群晖IP:5984/_utils,输入前面配置的帐号和密码进入管理页面,代表安装成功了

配置
点击右上角 Create Database 按钮创建一个新的数据库,并输入数据库名 (演示为 obsidian_db)

接下来配置下反向代理,在群晖控制面板->登录门户->高级->反向代理中新增规则如下,同时在路由器中配置端口转发到群晖的5986端口,服务端的配置就完毕了

后面进行Obsidian的配置。在Obsidian中搜索LiveSync插件进行安装

安装完插件后,进入LiveSync插件配置,找到远程数据库配置选项,填入【https://群晖域名:5986】、用户名、密码、数据库名,最后点击Test按钮测试

没有问题后,再点击下面的Check按钮检查配置,如下图,配置都是OK则代表成功

继续在下面配置端对端加密,打开加密选项后,输入密码,点击底部的Apply按钮,就代表启用成功

接下来配置同步模式。打开同步设置选项卡,选择同步预设,可以选择实时同步、周期同步预设

可以根据自己需要配置同步条件

下面的删除配置、冲突配置等可以按照自己的需求修改

如果要同步插件、主题,需要打开 Enable customization sync,(建议不要配置这个,会导致同步错乱的问题)

手机端配置
在安装向导中点击Copy setup URI按钮,输入密码后把配置链接拷贝下来

打开手机端Obsidian,需要先下载LiveSync插件,然后打开插件的安装向导,点击Open setup URI按钮,把链接粘贴,再输入密码就可以实现同步了

如果要在其他端同步,同样只需把链接粘贴到插件中即可
后记
配置好后,Obsidian右下角中就可以看到当前的同步状态

- ⏹️ 就绪
- ⚡️ 同步中
- ⚠ 一个错误出现了
- ↑ 上传的 chunk 和元数据数量
- ↓ 下载的 chunk 和元数据数量
- ⏳ 等待的过程的数量
- 🧩 正在等待 chunk 的文件数量 如果你删除或更名了文件,请等待 ⏳ 图标消失
有其他疑问,可以在官方文档https://github.com/vrtmrz/obsidian-livesync/blob/main/README_cn.md查看具体配置说明
4 条评论
都有群晖了,在 iOS 平台可以直接使用 SynoSync 啊,支持后台同步,还能直接使用 quickconnect 内外网自动切换
第一步就进行不下去了,没有注册表和couchdb。
路由器中无此选项。是不是要到穿透里面做端口?
你有公网IP吗?有的话直接暴露出来就可以了