Obsidian 的多端同步,本质是“如何同步一堆本地 Markdown 文件”。常见方案可以分为两类,一类是基于网盘思路(如 Cloudreve + WebDAV),另一类是基于版本控制(如 GitHub + Git)。下面是对两种同步方式的说明。


一、从 Obsidian 的特点说起

我一开始是想找一个笔记软件的,然后就发现了 Obsidian,最直观的感受是它和传统笔记工具不太一样。它所有内容都是本地文件,本质就是一堆 Markdown 文档,再通过双链把知识连接起来。

这也带来一个很现实的问题:既然数据在本地,那多设备之间怎么同步?

围绕这个问题,社区逐渐形成了几种主流方案,其中最常见的就是 WebDAV 同步和 Git 同步。


二、两种主流思路

从使用体验来看,我更倾向把它们理解成两种完全不同的思路。

一种是“网盘模式”,也就是通过 WebDAV 把远程存储当作磁盘来用,代表方案是 Cloudreve + Remotely Save;另一种是“代码仓库模式”,把笔记当作代码,用 Git 做版本管理,代表方案是 GitHub + Obsidian Git。

前者更接近日常使用网盘的体验,后者更偏工程化。


三、方案 A:Cloudreve + WebDAV + Remotely Save

这个方案整体结构其实不复杂,可以理解为:Obsidian 通过插件,用 WebDAV 协议去读写你自己搭建的网盘(Cloudreve)。

简单来说,就是你有一个自己的“私有网盘”,Obsidian 把笔记同步到这个网盘,各个设备再从这里同步下来。


1. Cloudreve 安装过程

我当时是在服务器上直接部署的,步骤比较标准。

先创建目录并进入:

sudo mkdir -p /opt/cloudreve
cd /opt/cloudreve

然后下载程序:

wget https://github.com/cloudreve/Cloudreve/releases/latest/download/cloudreve_linux_amd64.tar.gz

如果服务器访问 GitHub 有问题,可以直接在 Github 发布页 下载后上传到服务器,我当时下载了很久,本地下载后直接把包上传到服务器了。

解压并赋权:

tar -zxvf cloudreve_linux_amd64.tar.gz
chmod +x cloudreve

首次启动:

./cloudreve

第一次运行会生成配置文件和数据库,同时在终端输出管理员账号信息,这一步一定要保存好。默认访问地址一般是 http://服务器IP:5212,记得提前开启防火墙端口,服务器控制台端口。


2. 后台运行与服务化

临时运行可以用 screen:

screen -S cloudreve ./cloudreve

退出但保持运行用 Ctrl + A D,重新进入用:

screen -r cloudreve

如果是长期使用,我更建议直接用 systemd 管理。创建服务文件:

sudo nano /etc/systemd/system/cloudreve.service

写入配置后执行:

sudo systemctl daemon-reload
sudo systemctl enable cloudreve
sudo systemctl start cloudreve
sudo systemctl status cloudreve

3. 端口与防火墙

默认端口是 5212,可以在配置文件中修改:

sudo nano /opt/cloudreve/conf.ini

例如改成 8000:

[System]
Listen = :8000

然后重启服务即可。


4. WebDAV 与 Obsidian 配置

Cloudreve 启用后,会提供 WebDAV 地址,例如:

http://服务器IP:8000/dav

在 Obsidian 中安装 Remotely Save 插件,配置同步类型为 WebDAV,然后填入地址、用户名和密码,再指定一个远程目录(例如 note)。

之后在不同设备上重复相同配置,点击同步即可完成多端数据一致。

从使用体验上看,这一套更接近“私有网盘”,体验更好一些。


四、方案 B:GitHub + Git 同步

另一种方式是把 Obsidian 仓库当作代码仓库管理,用 Git 来做同步。

它的核心思路很简单:所有笔记都放在一个 Git 仓库中,通过 push 和 pull 实现多端同步。


1. 基本流程

先在 GitHub 创建一个私有仓库,例如 obsidian-notes,然后在本地克隆:

git clone https://github.com/username/obsidian-notes.git

接着在 Obsidian 中选择这个目录作为 文件夹。


2. 插件与自动化

安装 Obsidian Git 插件后,可以配置自动提交、自动 push,以及同步间隔。

实际流程就是:修改笔记后自动 commit 并推送到远程仓库,其他设备通过 pull 获取最新内容。


3. 使用感受

这种方式更像在管理代码,好处是非常稳定,而且每一次修改都有历史记录,可以随时回滚。对我来说,如果笔记偏技术文档,这种方式会更安心一些。

但相对来说,它的配置和使用门槛会比 WebDAV 略高。


最后总结

在我看来,如果你有服务器,并且更习惯“像用网盘一样同步文件”,Cloudreve + WebDAV 会更自然一些;如果你本身就熟悉 Git,或者更看重版本管理和可追溯性,那么 GitHub 方案会更合适你。

另外还有一个选择是官方的 Obsidian Sync,它的优势是开箱即用,几乎不需要折腾,但需要付费。

折腾过一圈笔记软件之后,我的感受其实挺明确的:想同时满足“云同步、体验好、无广告”,并不容易。很多工具要么功能完整但体验受限,要么同步方便但带有各种干扰。