在本地优先与数据自主权的大潮下,Obsidian 凭借其 Markdown 文件架构和强大的插件生态,深受知识工作者喜爱。然而,多设备间的笔记同步始终是个令人头疼的问题。
如果你不想依赖 Obsidian Sync(付费)或 iCloud(平台受限),又想保留私有部署和局域网传输的自由,WebDAV + 内网穿透将是一个高性价比的解决方案。
🧭 教程目录
- 同步原理简介
- 部署 WebDAV 服务(使用 RaiDrive/Nginx/FileBrowser)
- 实现内网穿透(使用 frp 或 ZeroTier)
- 移动端 Obsidian 配置 WebDAV 同步
- 同步安全性与稳定性建议
- 进阶:自动双向同步脚本
一、同步原理简介
Obsidian 的文件结构本质上就是一组 Markdown 文件夹。我们要做的是:
- 将该 Vault 目录挂载为共享盘(使用 WebDAV);
- 在多个设备之间用 Obsidian 读取同一个 WebDAV 挂载目录;
- 为解决外网访问问题,引入内网穿透工具,使移动设备也能访问家中服务器。
🧠 同步方式本质是“共享同一存储位置”,并非“版本合并”,因此推荐仅一台设备同时写入。
二、部署 WebDAV 服务
我们假设你有一台家用服务器、树莓派、NAS 或 Windows 电脑来托管 Vault。
✅ 方案一:使用 Nginx 启用 WebDAV(推荐)
- 安装 Nginx:
sudo apt update && sudo apt install nginx
- 配置 WebDAV(nginx.conf):
server {
listen 8080;
server_name localhost;
location /vault {
root /home/youruser/obsidian;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
autoindex on;
create_full_put_path on;
}
}
- 重启 Nginx:
sudo systemctl restart nginx
✅ 方案二:使用 FileBrowser(界面化管理,适合新手)
- 下载并运行:
curl -fsSL https://filebrowser.org/get.sh | bash
- 打开界面管理,启用 WebDAV 功能。
三、实现内网穿透
WebDAV 服务在本地建立后,需要让外网(例如你手机、笔记本)能够访问该服务。
✅ 方式一:frp + VPS(性能强,自由控制)
- 在公网服务器部署 frps 服务端;
- 本地机器运行 frpc 客户端转发
localhost:8080
; - 设置自定义子域名或端口映射。
🌐 官方网站:https://github.com/fatedier/frp
✅ 方式二:ZeroTier(P2P虚拟局域网)
- 注册 ZeroTier,安装客户端,加入同一虚拟网络;
- 不需要公网 IP,穿透能力强;
- 然后通过
192.168.x.x:8080/vault/
直接访问。
四、移动端 Obsidian 配置 WebDAV 同步
Obsidian 本身不支持 WebDAV,但你可以用以下方式:
✅ 方法一:使用第三方同步 App 挂载 WebDAV
Android:
- 使用 FolderSync
- 或使用 WebDAV Navigator
iOS:
配置好后,将 Obsidian Vault 设为本地同步文件夹。
✅ 方法二:通过 Rclone 挂载(适用于 Linux/Mac)
rclone mount remote:Vault /mnt/obsidian --vfs-cache-mode writes
五、同步安全性与稳定性建议
- 备份机制: 建议配合 Git + Obsidian Git 插件,每次变更自动提交;
- 防冲突: 避免在多设备同时写入,建议主力设备为主;
- 加密传输: Nginx 启用 HTTPS(Let’s Encrypt)可增强数据安全;
- 身份认证: WebDAV 服务需设置用户名密码,防止开放目录。
六、进阶:自动双向同步脚本
若你想实现定时双向同步,可结合 rclone sync
与计划任务:
rclone sync /Users/me/ObsidianVault webdav:Vault --update --copy-links
然后加入 crontab
每 15 分钟执行一次同步。
✅ 总结
技术 | 作用 | 工具推荐 |
---|---|---|
WebDAV | 文件共享 | Nginx / FileBrowser / Synology |
内网穿透 | 外网访问本地服务 | frp / ZeroTier / Ngrok |
文件同步 | 本地与远程同步 | FolderSync / Rclone / Git |
数据备份 | 防止误删 | Git / Rsync / Syncthing |
🔚 附加参考资料
- Obsidian 官网:https://obsidian.md
- WebDAV 协议介绍:https://tools.ietf.org/html/rfc4918
- frp GitHub 项目:https://github.com/fatedier/frp
- ZeroTier 官网:https://www.zerotier.com
- Rclone WebDAV 支持文档:https://rclone.org/webdav/
发表回复