Obsidian 多端实时同步

插件演示

本方案基于 livesync 插件 + 群晖 Docker，需要能访问自己家的 NAS，还要有一个域名～
官方项目地址 官方中文说明

体验

使用快两个月了，丝滑同步，感觉在用云笔记软件～～

群晖 Docker 搭建数据库

安装

Docker 中搜索 couchdb 并下载

双击下载好的映像，进行安装，点击高级设置，进入配置页面

配置填写

常规：勾选自动重新启动（可选）

保存这段官方的代码到文本文档，并重命名为 local.ini

Copy
[couchdb]
single_node=true
max_document_size = 50000000

[chttpd]
require_valid_user = true
max_http_request_size = 4294967296
enable_cors = true

[chttpd_auth]
require_valid_user = true
authentication_redirect = /_utils/session.html

[httpd]
WWW-Authenticate = Basic realm="couchdb"
bind_address = 0.0.0.0

[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

然后将 local.ini 上传到对应 NAS 路径中，这是官方说明页面

我一般端口手动设置一下保持和容器一致，不过本地端口应该可以自定义的，未测试～

在环境这里需要手动添加两个配置
COUCHDB_PASSWORD 值设置成你的密码
COUCHDB_USER 值设置成你的用户名

配置完启动 Docker，访问 http://你的 IP:你的端口
例如：http://192.168.31.2:5984
成功的话会显示一串字符，这样就 OK 了～

客户端配置填写

接下来进行客户端插件的配置填写
URL：就填你刚刚测试的那个网址，记得要加端口号
名字和密码：就是你前面添加到 Docker 中的账号密码
数据库名字：可以随便起一个，自己方便识别就好
填好就可以点击 Test 测试一下，测试成功连接的话会有提示

对了，建议打开 End to End Encryption 也就是端到端加密

然后进行同步的配置，建议直接选 LiveSync 也就是实时同步的预设～
毕竟装这个插件就是为了这个功能嘛～

要注意的一点是，这个插件与其他同步插件包括官方自己的同步是不兼容的，建议关闭其他所有同步设置，不然可能会出问题～

也可以同步客户端的设置和其他插件，不过这个是测试功能，可以按需开启～
必须为当前设备命名之后才可以开启

建议开启 notify customized ，这样有新的配置的时候，软件会弹出提醒，点击可以进入配置页面，手动选择要同步哪些内容

添加群晖反代，启用 https，设置外网访问

前面配置完了之后就可以进行同步了，不过现在只能内网访问，体验还不完美

接下来我们配置外网访问
我家里的 NAS 是之前就配置过 [[DDNS]] 和对应的 [[域名证书]] 的，如果你还不了解这方面的知识，请自行补课
以后我再单独写这方面的配置教程
这里默认你之前就可以外网访问家里的 NAS，并配置了 SSL 证书

群晖反代设置

打开群晖控制面板，点击 👉 应用程序门户

点击反向代理服务器👉点击添加

然后如下图配置

在路由器后台开启端口转发，这里借用一张网上的图
名称：随便写
协议：只要默认的 TPC 就好了
外部端口：随便填，建议和前面设置的群晖反向代理服务器端口一致
内部 IP 地址：你的 NAS 的地址
内部端口：前面设置的群晖反向代理服务器端口（不是 docker 默认端口 5984 哦）

添加之后保存生效
然后客户端对应的 URI 地址填你自己的域名地址和对应访问端口就 OK 啦

最后

这是一个同步插件，不是备份插件，有群晖的话建议搭配一个 Drive 自动备份，我用这个的主要原因是为了 iOS 和 iPad 客户端的同步，苹果的 iCloud 同步会有问题，如果用的 PC 和安卓的话，感觉直接搭配群晖的 Drive 套件体验更好，还有多版本控制～

本文参考：
不使用第三方软件实现 Obsidian 多平台实时同步 - 经验分享 - Obsidian 中文论坛