Obsidian的同步需要用到会员,秉持能省则省的原则,对树莓派又折腾了一番。
一、如何使用Nextcloud同步
方案1. 借助Nextcloud远程文件夹
这种方案比较简单,首先在电脑端安装Nextcloud,设置一个工作区目录:
在Obsidian中从该目录建立Vault:
在安卓端Nextcloud同步该文件,并在安卓端Obsidian从同步的目录建立Vault,默认同步目录路径为Android/media/com.nextcloud.client。此时,安卓即可与电脑端同步笔记。但是需要注意的是,安卓端Nextcloud并不支持实时同步:
如果采用这种方法,每次需要在安卓端查看新版本笔记时都需要从Nextcloud手动同步,非常不方便,所以开始摸索第二种方案。
方案2. 借助插件Remotely Save
Remotely Save插件可以借助Webdav来访问Nextcloud,从而同步安卓端与电脑端。更好用的一点在于可以控制同步方向,如我只希望安卓端用于查看笔记,就可以只使用只增量拉取模式。
在安卓端同样需要下载该插件。其中服务器地址为Nextcloud显示的Webdav地址(Nextcloud文件页–>文件设置–>web DAV),用户名为登录用户名,密码为登录密码。需要注意的是两端的远端基文件夹要保持一致。在电脑端点击同步按钮,安卓端即可接收到推送。
二、如何构建图床
为了方便markdown插入图片,构建一个自己的图床比较方便。经过查找,最终选择Chevereto作为图床。构建方法也非常简单,和之前开Web服务一样,先装Docker,再frp穿透,改下Nginx配置,最后申请SSL证书并配置就可以了。
在构建Docker镜像时,可以直接采用官方代码:
docker run -d \
--name chevereto \
-p 80:80 \
-e CHEVERETO_DB_HOST=database \
-e CHEVERETO_DB_USER=chevereto \
-e CHEVERETO_DB_PASS=user_database_password \
-e CHEVERETO_DB_PORT=3306 \
-e CHEVERETO_DB_NAME=chevereto \
-e CHEVERETO_ASSET_STORAGE_TYPE=local \
-e CHEVERETO_ASSET_STORAGE_URL=/images/_assets/ \
-e CHEVERETO_ASSET_STORAGE_BUCKET=/var/www/html/images/_assets/ \
-v /var/www/html/images/ \
ghcr.io/chevereto/chevereto:latest
此处-v
表示挂载,如果需要挂载到硬盘上某个目录,就可以写成-v path_on_disk/:/var/www/html/images/
。这样可以将上传到图床的图片保存在指定的路径下。需要注意的问题是需要在容器内该路径下手动创建一个_assets
文件夹,貌似是因为php执行权限不足,暂时没有找到更好的解决方法。
最后就可以愉快地上传图片并经由图床复制链接到Obsidian了。