微尘印记

在 VPS 上部署 Syncthing 同步 Obsidian 仓库

在 VPS 上部署 Syncthing 同步 Obsidian 仓库

如果你对数据隐私有洁癖,或者单纯不喜欢把笔记交给第三方云服务,Syncthing 就是你的终极方案。

它不需要中间服务器,你的 Mac 和 VPS 直接点对点传输。哪怕断网了,只要在同一个局域网下,它也能同步。最关键的是,它是开源免费的,你的数据完全掌握在自己手里。

这就教你如何在 VPS 上把这个神器跑起来,实现 Obsidian 仓库的云端同步。

第一步 在 VPS 上安装 Syncthing

别被命令行吓到,安装它其实非常简单。大多数现代 Linux 发行版(比如 Ubuntu 或 Debian)的软件源里都已经包含了它。

登录你的 VPS,运行下面这行命令:

sudo apt-get update && sudo apt-get install syncthing

如果你用的是 CentOS,可能需要用 yum 或者 dnf。安装完之后,先运行一次,让它自动生成配置文件:

syncthing

看到屏幕上滚动出一堆信息,最后显示类似 INFO: GUI is ready 的时候,就可以按 Ctrl + C 先把它停掉了。这一步只是为了让它初始化。

第二步 开启外部访问

这是最关键的一步。默认情况下,Syncthing 的管理后台只允许 127.0.0.1 访问,也就是只能在 VPS 内部访问。因为 VPS 通常没有桌面浏览器,我们需要修改配置,允许我们从家里的浏览器远程访问它。

找到它的配置文件,通常在当前用户目录下的 .config/syncthing/config.xml。

用 nano 编辑器打开它:

nano ~/.config/syncthing/config.xml

小提示:在 nano 界面里,编辑完按 Ctrl + O 再按回车是保存,按 Ctrl + X 是退出。

找到 gui 这一段,把 address 127.0.0.1:8384 修改为:

<address>0.0.0.0:8384</address>

这行代码的意思是允许任何 IP 访问这个管理后台。这听起来有点吓人,但因为 VPS 没有屏幕,这是我们配置它的唯一方法。所以等会儿服务一启动,你第一件事就是必须立刻设置一个复杂的密码。

第三步 设置后台静默运行

我们不能一直开着 SSH 窗口挂着它。得把它变成一个系统服务,让它开机自启,并且在后台默默工作。

我们需要创建一个 systemd 配置文件(需要 root 权限):

sudo nano /etc/systemd/system/syncthing@.service

把下面这段内容复制进去:

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

保存退出后,启用这个服务。请把下面的 你的用户名 替换为你登录 VPS 时的实际用户名。

sudo systemctl enable syncthing@你的用户名
sudo systemctl start syncthing@你的用户名

第四步 浏览器配置

现在,打开你电脑的浏览器,输入 http://你的VPS公网IP:8384

你应该能看到 Syncthing 的绿色界面了。系统会弹出一个巨大的红色警告,让你设置图形界面的认证用户和密码。请立刻去设置一个强密码,这关系到你的数据安全。

第五步 同步你的 Obsidian 仓库

剩下的操作就和你平时用 Syncthing 一样了:

  1. 打开右上角的操作,选择显示 ID,复制这串长长的设备 ID。
  2. 打开你 Mac 或手机上的 Syncthing,添加远程设备,填入 VPS 的 ID。
  3. 在 VPS 上同意添加请求。
  4. 在 Mac 上选择你的 Obsidian 仓库文件夹,勾选共享给 VPS。
  5. 回到 VPS 的网页后台,同意共享请求,并设置一个 VPS 上的路径。

这里一定要注意:建议设在你的用户目录下,比如 /home/你的用户名/obsidian_vault。路径千万别乱填成根目录或者 home 目录,一定要精确到你专门为 Obsidian 准备的空文件夹,否则你会把 VPS 的系统文件全同步到你的手机 and 电脑上,那场面会非常混乱。

等几分钟,状态变成绿色同步完成,你的第二大脑就成功搬到云端了。

避坑指南

如果发现死活连不上,通常是 VPS 的防火墙没开。

Syncthing 需要用到两个端口: 8384 用于网页后台管理。 22000 用于数据传输。

去你的云服务商控制台,在安全组规则里把这两个端口放行即可。

↩ 提及本文

Obsidian 多设备同步方案选择指南 ...每台设备都需要单独配置节点;移动端体验一般;调试起来比较麻烦。 详细教程:在 VPS 上部署 Syncthing 同步 Obsidian 仓库 Self-hosted LiveSync 以 CouchDB 为后端的实时同步方案,是这几个自建方案里移动端体验最接近官方 Sync 的。改动秒级同步,全平台原生 App,内置端对端加密。 适合:重度依赖手机或 iPad... 每月省 $8,同步体验不降级:自建 Obsidian 全平台实时同步完整指南 ...Syncthing 免费开源、点对点传输,但每台设备都要单独配置节点,搭建过程可以参考这篇,整体门槛不低,移动端体验也一般。iCloud 省心但有同步冲突的老问题。 相比之下,Self-hosted LiveSync 在移动端体验上是这几个自建方案里最接近官方 Sync 的。 --- LiveSync 是什么?... 在 VPS 上用 Docker 部署 Obsidian GUI 在 VPS 上部署 Syncthing 同步 Obsidian 仓库 文章里聊到了把大脑搬上云端的宏观思路。除了用 Syncthing 这种纯文件同步的方式,其实还有一个更“偷懒”且直观的办法: 直接在 VPS 上跑一个 Obsidian 客户端。 为什么要这么干?因为我们大部分人的笔记其实都已经在云端了(比如用了 iCloud、官方 Sync 或者 Remotely... 我把大脑搬到了云端:顺便“养”了个 24 小时在线的灵魂伴侣 ...给每个设备都装好 Syncthing 客户端并配好节点。 具体教程可以查看:在 VPS 上部署 Syncthing 同步 Obsidian 仓库 方案二:对象存储插件 (Remotely Save / LiveSync) 如果你是“插件党”,这条路最顺手。利用 Remotely Save 或 Self-hosted LiveSync 插件,把数据存到腾讯云 COS...

💬 评论

🧙‍♂️

评论区正在施法中...

信使正在穿越次元壁,即将抖达... *Alohomora!* 🔓

    输入关键词开始搜索