obsidian webdav 同步最佳实践

obsidian webdav 同步最佳实践

并不完美的obsidian

前端日子一直在寻找一个本地写笔记的软件,前后考虑了vscode-语雀插件和思源笔记等等新生代的开源本地方案,最后发现主要有几个问题,要么用私有的文件格式,要么就是复杂到功能繁琐,对飞书等在线知识库的拙劣模仿,无法满足我的pc端编写,其他端上查看的需求。

于是对比了很多个产品,obsidian算是矮子里拔高个,满足了我对原生markdown需求,以及定制化,编写流畅等需求,当然,也不满足我希望的pc端编写,其他端上查看的需求。所以他并不完美。

于是写了个工具,放在最前面了,感兴趣的可以点个star

https://github.com/jiayuqi7813/Obsidian-Reader

幸福的苹果全家桶

如果你使用苹果全家桶,你将会非常幸福的实现如下功能,将你的obsidian库放在你的icloud目录下,你的所有文档会自动上传同步到云,你的iphone只需要下载移动端就可以实时同步进行阅读编辑。

图片[1]-obsidian webdav 同步最佳实践-魔法少女雪殇

而对于我这种 pc macbook ➕安卓手机就是一种噩梦难度了,虽然安卓手机也有方案去实现同步icloud,但终究太过麻烦了。

我的方案

明确需求

我的需求很简单,相信也有其他读者跟我一样的需求,明确一下我的场景:

  • 主力是mac,手机是安卓
  • 家里有nas吃灰,有公网v6
  • 平常主要工作场景通过mac,笔记也通过mac记录,移动端无相关记录需求。
  • 我没ipad,有的话我也不至于写这种文章了(

所以我希望的就是写好的笔记,实时同步到nas上,nas再起一个web服务可以供我用流量访问网站来进行阅读和复习。所以目前调研来看,webdav算是最佳方案。

本人实现

怎么打开webdav

本人nas是威联通,像其他品牌主流nas肯定都自带webdav,这里不讲述其他品牌的nas怎么开webdav,只演示一下威联通的webdav怎么开。

先去共享文件夹创建一个obsidian目录

图片[2]-obsidian webdav 同步最佳实践-魔法少女雪殇

然后去设置,webdav进行打开服务,端口自定义,权限看自己需求,不懂得可以用webdav权限。

图片[3]-obsidian webdav 同步最佳实践-魔法少女雪殇

然后可以通过finder的连接服务器链接测试,他会让你输入地址和输入密码。

图片[4]-obsidian webdav 同步最佳实践-魔法少女雪殇
图片[5]-obsidian webdav 同步最佳实践-魔法少女雪殇

不出意外就会打开进行访问

图片[6]-obsidian webdav 同步最佳实践-魔法少女雪殇

obsidian配置

这块目前都采用remotely sync插件作为配置,我这里也用这块进行配置,安装好插件后进入设置

图片[7]-obsidian webdav 同步最佳实践-魔法少女雪殇

将远程服务选择webdav,服务器地址、用户名、密码填好后其他进行默认即可,最后记得点一下检查是否可连接。

服务器地址注意,后面是要带上路径名的,比如说你要备份在obsidian路径里,你要带上http://url:port/obsidian,才可以。

图片[8]-obsidian webdav 同步最佳实践-魔法少女雪殇

当你检查后出现这个图片则说明可以了,下面的配置按需配置即可。分享一下本人配置

图片[9]-obsidian webdav 同步最佳实践-魔法少女雪殇

如果存在文件同步失败的情况,可以把调试的第一个选为开启,这样每次都会弹窗告诉报错情况

图片[10]-obsidian webdav 同步最佳实践-魔法少女雪殇

同步前个人建议将整个文档的权限做一下更改,防止同步上传到nas的文件权限有问题导致nas内文件打不开的情况,我直接偷懒777了,这边看个人需求,但是建议设置。

图片[11]-obsidian webdav 同步最佳实践-魔法少女雪殇

然后点一下按钮就可以同步了

图片[12]-obsidian webdav 同步最佳实践-魔法少女雪殇

然后就应该看到目录里面多了一些文件了,说明同步成功。

如何在手机端查看

为了解决这个问题,我特地写了一套程序,命名为Obsidian-Reader,项目链接

https://github.com/jiayuqi7813/Obsidian-Reader,感兴趣的可以点个star

该项目会自动读取目录,然后可以通过web进行访问阅读,支持pdf和markdown以及图片。

在威联通中,通过如下方案进行部署,其他的类似。

图片[13]-obsidian webdav 同步最佳实践-魔法少女雪殇

复制下面的docker-compose.yml,进行创建,KB_DEFAULT_PATH不用改,KB_PASSWORD记得修改,否则密码很弱,然后volumes的地址设为你的库的绝对路径,我这里就是/share/obsidian/库,即可,其他不变。

version: '3.8'

services:
  knowledge-base:
    image: snowywar/obsidian-reader:v1.1_amd64
#    build:
#      context: .
#      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "3005:3000"
      - "[::]:3005:3000"
    environment:
      - KB_DEFAULT_PATH=/data
      - KB_PASSWORD=123
    volumes:
      - /share/obsidian/库:/data
    # Use healthcheck to ensure the application is running properly
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s

接下来创建运行即可。这块我主要做了ipv6的支持,不过有些bug,我这里用了反代带出来了,ipv6不能访问的也可以参考。

图片[14]-obsidian webdav 同步最佳实践-魔法少女雪殇

实际运行截图

图片[15]-obsidian webdav 同步最佳实践-魔法少女雪殇

手机端

图片[16]-obsidian webdav 同步最佳实践-魔法少女雪殇
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容