最开始,我是通过搭建Nextcloud服务器来使用的。尤其是Nextcloud的Notes功能让我觉得不错,所以在我的PC上,我在Nextcloud的Notes子目录下创建了Obsidian保管库(Vault)并撰写了多个文档。

在Obsidian的PC版本上这一切都很简单。只需将保管库(Vault)放到Nextcloud同步文件夹中即可。

但问题出在iPhone上。

iPhone版Obsidian的意想不到的限制

我了解到iPhone上也有Obsidian应用后立马进行了安装……问题在于iPhone版Obsidian仅官方支持iCloudObsidian自己的云服务,并不支持Nextcloud的连接

并没有像PC那样的“导入文件夹”功能。

“不如直接通过Nextcloud应用来加载文件呢?”

我最初也是这样想的,但Obsidian必须以本地保管库的形式加载才能正常工作,因此简单的文件访问是不可能的。

解决方案:使用Remotely Save插件

经过多次寻找,我发现了Obsidian社区插件Remotely Save

该插件利用WebDAV的方式可以安全地将数据同步到外部服务器(在这里是Nextcloud)。

不过设置过程相当复杂。😅

Nextcloud, Obsidian, iPhone连接流程图

Remotely Save设置摘要(iPhone为例)

  1. 安装插件

    • 在Obsidian iPhone应用中,依次进入Settings → Community plugins → Browse → 搜索Remotely Save进行安装。
  2. 启用插件

    • 安装后启用。
  3. 输入WebDAV设置

    • WebDAV URL: https://your-nextcloud-domain/remote.php/dav/files/your-username/
    • 用户名: Nextcloud用户名
    • 密码: Nextcloud的登录密码(或应用密码)
  4. 初始同步设置

    • 输入设置后,务必点击Check Connectivity按钮以检查连接状态。
    • 连接成功后,再返回主界面,在Obsidian底部的命令面板(Command Palette)中手动执行Remotely Save: Sync命令。
    • 通过这个过程,可以完成服务器和iPhone间的初始数据同步。

⚠️ 这里最重要的是URL。如果按照上述示例操作,iPhone上创建的保管库会在Nextcloud的根目录下再生成一个。

因此,如果PC上已经存在如/Nextcloud/Notes/myvault/的Obsidian保管库,并且其中有资料,就必须对此进行利用。

也就是说,WebDAV URL应该是https://your-nextcloud-domain/remote.php/dav/files/your-username/Notes/,且iPhone的保管库名称必须与PC的保管库名称相同。

  1. 结果 在执行同步命令时,我有点紧张。因为iPhone的保管库与PC的保管库位置和名称一致,怕会发生冲突?或者iPhone上的空保管库是否会影响PC,使得PC上原有的数据全部丢失?我非常担心。
  2. 然而,结果却是iPhone成功从PC获取了资料,PC上的数据完好无损地与iPhone同步。

经过反复试验得到的教训

  • 由於Obsidian的基本架构是“文件系统”,因此在iPhone上需要稍有不同的访问方式。
  • 要想正确使用Nextcloud,必须利用支持WebDAV的插件。
  • Remotely Save插件的设置虽然复杂,但一旦成功运行,就相对稳定。

结束提示

  • 在iPhone上要注意存储空间管理,过多的文件同时同步会导致应用变慢。
  • 如果需要文件版本管理,请开启Nextcloud的版本管理功能。

希望这篇文章能对像我一样希望使用Nextcloud + Obsidian + iPhone的人们有所帮助。🙌

如果以后有更好的设置方法,我会及时更新的!