Joplin配置filerun同步

-
-
2021-09-27

背景

最近花了很多时间寻找一款私有化笔记,我的需求如下

  • 开源
  • 可私有化部署
  • 笔记文件保存在本地
  • 支持多端同步
  • 支持双链
  • 最好支持 markdown 所见所得
  • 迁移笔记方便

我这段时间试用了为知笔记 Docker 版、Trilium、思源笔记、Mrdoc、showdoc、Obsidian 等笔记软件,诚然,这些软件都有独特的优点,但是对我而言也有一些缺点。其中尤其让我惊喜的是为知笔记 Docker 版本,搭配重构版客户端,体验上比其他软件高出许多。但是或许是其重构版目前仍然处于开发早期,存在许多令我别扭的功能,比如图片强制保存在本地等,必须点击展开,才能打开下一层笔记本 等。

这些别扭让我决定转移阵地,毕竟我是一个习惯了就不喜欢改变的人,所以对笔记软件也是希望一步到位,选择最适合的。所以最终决定使用 Joplin 作为主力笔记软件。

之前也试用过 Joplin,但是当时被其同步功能劝退,这次解决了同步问题,所以记录一下。

Joplin 的好处非常之多,比如有丰富的插件库、开源、笔记保存在本地、多种同步方式、完美的网页剪辑功能、最重要的是还支持调用 Typore 编辑。作为一个免费软件,真的是让人感叹它也太全能了。

下面记录一下 Joplin 搭配 FileRun 进行同步的设置

安装

joplin 的安装

打开 Joplin 的官网:Joplin (joplinapp.org)

Joplin 支持多端,选择需要的客户端下载安装即可,方便的不行。安装后,打开 Joplin 即可使用。

FileRun 的部署

FileRun 是一款免费的私有化部署网盘,是我一直在用的网盘,如果你觉得 nextcloud 太臃肿,不妨试试这一款,轻量级的同时,该有的功能一样都不少。

因为我已经部署了 FileRun,所以这里简单的概括一下安装方法,前往官网FileRun下载网站源码压缩包,上传到你网站的根目录下,浏览器打开:你的域名/filerun 根据提示安装即可。

FileRun 如此轻量级的网页程序居然还支持 WebDAV,开发者真是很贴心了啊。

FileRun 访问 WebDAV 的链接为:

http(s)://你的域名/dav.php/@40Home/

貌似不支持浏览器直接访问,不过咱也不需要这个功能。

到此 FileRun 部署结束,重头戏在下面,我配置 Joplin 的 WebDAV 同步踩了不少坑。

配置同步

打开【工具】-【选项】-【同步】,可以看到 joplin 支持非常多的同步方式,在这里我当然选择使用 WebDAV 的同步方式

根据提示,填入 WebDAV URL,FIleRun 用户名和密码,我这里填入的是 http 的域名,点击检查同步配置。嗯……提示成功,看起来没问题

第一个坑,检查同步配置没问题,可是在笔记中点击同步后,却出了问题

Last error: Error: Could not upgrade from version 0 to version 1: MKCOL ./sync/: Unknown error 2 (403): You are not allowed to use this folder name!

看这提示,我横看竖看,不知道问题出在哪里,看上去好像是读取或创建文件的时候出了错误,于是求助百度,逛了一圈我发现,竟然一个出现类似问题的都没有,估计是国内 Joplin 用户少,Filerun 用户少,Joplin+Filerun 的用户就更少了,无奈只能上官网寻找帮助。

在官方帮助文档的一个角落里发现了官方对此有做说明

FileRun doesn't allow currently to create hidden folders (name starting with a dot), that is why it fails because Joplin tries to create a hidden folder. There is a workaround. Create a configuration file and add this to it:

$config['app']['hidden_folder_names'] = ['.filerun.*'];

意思是 FileRun 不允许创建隐藏的文件夹,而 Joplin 在同步过程中会创建隐藏文件夹,所以在上面会报错。知道了问题和解决办法后,就好办了,根据文档指导,在网站根目录下的customizables下创建 config.php文件,在其中加入一行配置

$config['app']['hidden_folder_names'] = ['.filerun.*'];

注意,这里还有一个坑,记得在文件首行写入

<?php

否则配置会读取失败。

第二个坑、按照如上操作后 windows 平台确实是可以同步了,但是手机平台却死活也连不上,后来琢磨是不是手机平台不支持 http 链接,于是我将网站开启了 SSL,并且将 WebDAV 链接改成了 https,点击同步,出现如下错误

reason: unable to verify the first certificate (Code UNABLE_TO_VERIFY_LEAF_SIGNATURE)

查阅一番资料后,估计是 Joplin 对免费 SSL 证书的认证有问题,目前的解决方案是打开【高级选项】,勾选上【忽略 TLS 证书错误】

经过以上折腾后,Joplin 终于支持全平台同步了,而且保存的笔记文件在 FileRun 中也可以查看,舒服了。

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录