自己搭建ObSidian同步环境

01-18 153阅读 0评论

  (本文所需软件均在文章末尾提供分流下载地址)

  最近接触到了ObSidian,是一个记笔记的应用,格式为MarkDown,体验之后非常符合我的喜好。

  我一直在寻找一个用起来主观感受比较轻巧的,早期用了几年EverNote、OneNote和为知笔记,但是使用感受上比较“重”,一是界面有点臃肿,二是软件使用较慢(启动、操作),在ObSidian之前用了专注笔记,相比较为知笔记确实轻巧一些,界面也简洁好看,有一些特殊的文本格式比较实用,价格也不贵。但经过大半年的使用,多少还是遇到了一些bug,而且团队人手不算多,更新比较慢。

  而ObSidian我实在西安疫情封城期间才得知的,至今也就用了20天左右,但我用着已经非常顺手了,因为它用起来非常容易上手,界面简介美观,响应迅速,不会MarkDown则可以当纯文本记事本,支持直接粘贴图片,最主要的是,它的普通使用是免费的。

  但ObSidian如何使用,不在本文的讨论范围之内。


  ObSidian普通使用免费,但笔记同步是收费的,一年费用为96美元,还是比较贵的,所以对于有同步需求的人可以考虑自己搭建一个同步环境,官方是允许的。而相比之下,阿里云、腾讯云、金山云等主机服务商每年都有活动,几十块一年的选择还是非常多的,缺点就是硬盘空间可能不会那么大。

  而我自己正好有在三丰云(原主机屋)活动时开通了一个永久使用的云服务器,正好可作为同步服务器使用。


  本文使用的同步工具为Syncthing,它的特点是不区分服务端与客户端,每一个终端都可以作为服务端,同时也可以作为客户端,支持跨平台。

  本文的服务器操作系统为CentOS 7.4,PC客户端为Windows 11,手机为安卓12。如果你的操作系统为Windows或PC为Linux,安装方式可以参考对应系统的,但是设置请对应服务器或客户端的设置。

  虽然本身Syncthing没有服务端与客户端的概念,但我们本次使用是会定义一个服务器,需要有一个能从公网访问的终端作为服务器,集中存放所有同步的文件,并分别与电脑、手机同步。


  ObSidian笔记是以“库”的概念存储的,因此同步的原理就是将这个库的目录整体同步,在另一个终端同步后打开这个库即可。

  如下图,我创建了一个名为“ObSidian”的库,库的路径在D:\OffLineData\LocalData\ObSidian目录下,我在ObSidian中创建的文件夹和文件,在这个本地目录下都能看得到,所以我只要把D:\OffLineData\LocalData下的ObSidian文件夹作为同步对象即可。有了这个特点,我们可以为不同的库设置不同的同步方式,甚至可以设置同步到不同的终端。

自己搭建ObSidian同步环境 网络软件 第1张


服务器(Linux)

  本文所需要的软件,可以在GitHub或者官网下载,如果GitHub网络不稳,可以在本文最后找到分流地址。

  首先根据自己的系统选择需要的包(它支持非x86架构的Linux和Windows),我这里选择Linux amd64版,上传到服务器后

  输入tar -xzvf syncthing-linux-amd64-v1.18.6.tar.gz 解压缩。

自己搭建ObSidian同步环境 网络软件 第2张


  解压后将进入目录,将syncthing文件复制到/usr/local/bin目录下。输入cp syncthing-linux-amd64-v1.18.6/syncthing /usr/local/bin/

自己搭建ObSidian同步环境 网络软件 第3张


  首先用自己想用的用户执行一次syncthing,以创建配置文件。我这里用的是root用户,执行/usr/local/bin/syncthing

自己搭建ObSidian同步环境 网络软件 第4张


  当看到出现INFO: Detected 0 NAT services

自己搭建ObSidian同步环境 网络软件 第5张


  按Ctrl+V停止运行,输入sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.config/syncthing/config.xml'修改配置文件。

  执行后,输入vim /root/.config/syncthing/config.xml打开配置文件,检查修改结果。

自己搭建ObSidian同步环境 网络软件 第6张


  检查的位置在第46行,确保值为0.0.0.0:8384,我这里采用的是软件默认端口,因此依旧使用8384接口。

自己搭建ObSidian同步环境 网络软件 第7张


  配置文件修改没问题后,再次执行/usr/local/bin/syncthing启动服务。

  通过浏览器打开网页配置端,地址为 IP:端口,如果是服务器上用浏览器,还可以用127.0.0.1:8384打开。

自己搭建ObSidian同步环境 网络软件 第8张


  首先,如果主界面非中文,可以通过点击右上角的“English”切换语言。

自己搭建ObSidian同步环境 网络软件 第9张


  再根据提示,因为设置0.0.0.0:8384后表示允许从任何地址访问此管理端,所以需要设置管理用户名和密码来保障安全性。

  点击第一个(红色)或第二个(绿色)提示信息右下角的“Settings(设置)”弹出设置窗口,点击“图形用户界面”选项卡,输入用户名和密码。

自己搭建ObSidian同步环境 网络软件 第10张


  完成后剩下最后一个提示,因为我是用内置的root用户启动的Syncthing,用普通用户启动则没有提示,根据自己需要决定是否需要用root。

  接下来是添加同步文件夹,我这里用的是正在使用的环境,所以能看到已经存在一个“ObSidian”的文件夹了。

  对于新环境,需要点击“添加文件夹”。

自己搭建ObSidian同步环境 网络软件 第11张


  弹出添加文件夹窗口,文件夹标签任意填写,它会展示到文件夹列表中,文件夹ID是唯一标识,不同设备只有相同ID的文件夹才会同步,文件夹路径设置为服务器上该同步文件夹的路径。  

自己搭建ObSidian同步环境 网络软件 第12张


  切换到“版本控制”选项卡,可根据需要是否设置版本控制,如果需要,选择“简易版本控制”或“阶段版本控制”即可,注意设置版本控制后会加大磁盘空间占用。

自己搭建ObSidian同步环境 网络软件 第13张


PC客户端(Windows)

  服务器的配置到此完成,接下来是Windows客户端,在此之前,首先在ObSidian中创建好库。

  点击创建新库。

自己搭建ObSidian同步环境 网络软件 第14张


  设置好库名,选择库所在的本地路径。

自己搭建ObSidian同步环境 网络软件 第15张


  如我设置的D:\OffLineData\LocalData\ObSidian。截图是已经使用了一段时间,创建了不少文件夹和文件。

自己搭建ObSidian同步环境 网络软件 第16张


  库创建好后,进行Windows版Syncthing的安装,将Windows版压缩包解压,目录结构如下。

自己搭建ObSidian同步环境 网络软件 第17张


  如果直接双击运行syncthing.exe,会自动打开浏览器并且弹出一个cmd运行窗口,关闭这个窗口则会停止syncthing运行,因此我们需要创建一个脚本,让其静默运行。

  首先创建一个bat文件,文件名任意起,保证扩展名为bat。

  bat文件内容为start "Syncthing" syncthing.exe -no-console -no-browser

  设置好后双击这个bat文件即可静默运行syncthing,将此文件创建快捷方式后放到启动目录下可以实现开机自启动。

自己搭建ObSidian同步环境 网络软件 第18张


  运行后打开浏览器,使用127.0.0.1:8384即可访问PC端的设置。

  首次进入仍然会提示创建用户名和密码,设置后添加文件夹。

  注意文件夹ID需要与服务器端填写的ID相同,文件夹路径为刚刚创建的库的路径。

  客户端上可以不设置版本控制。

自己搭建ObSidian同步环境 网络软件 第19张


  文件夹创建后要添加设备(服务端添加客户机,客户机添加服务器),否则不会同步。

  首先在服务器管理端点击右上角的“操作”,点击“显示ID”。

自己搭建ObSidian同步环境 网络软件 第20张


  复制二维码上方的ID码。

自己搭建ObSidian同步环境 网络软件 第21张


  回到PC客户端管理端首页,右下角点击“添加设备”。

自己搭建ObSidian同步环境 网络软件 第22张


  设备ID输入服务器刚刚复制的那一串ID,设备名随意起。

自己搭建ObSidian同步环境 网络软件 第23张


  切换到“共享”,共享文件夹中选中刚刚创建的ObSidian。

自己搭建ObSidian同步环境 网络软件 第24张


  切换到“高级”,这里输入tcp://IP:端口,IP填写服务器公网IP,服务端默认监听端口是22000。

  设置完成后点击保存。

自己搭建ObSidian同步环境 网络软件 第25张


  接着在服务端新增设备,输入PC客户端的ID。

自己搭建ObSidian同步环境 网络软件 第26张


  切换到“共享”,在共享文件夹勾选刚刚创建的ObSidian。

自己搭建ObSidian同步环境 网络软件 第27张


  切换到高级,这里不需要填写客户端的IP,因为可能随时会变,因此填写dynamic。

  完成后保存。

自己搭建ObSidian同步环境 网络软件 第28张


客户端(安卓)安装

  安卓版安装需要在Google Play商店或者其他方式下载到Syncthing。

  在主界面选择“设备”选项卡,点击右上角的加号添加设备。

  设备ID填写服务器的ID,链接输入tcp://IP:端口,同Windows客户端添加服务器的那样,完成后点击右上角保存。

自己搭建ObSidian同步环境 网络软件 第29张


  添加成功后列表就会出现刚刚添加的服务器。

自己搭建ObSidian同步环境 网络软件 第30张


  接下来要在服务器端添加手机,手机端的ID按如下方法查:

  首页点击左上角的菜单,找到显示设备ID,其他配置项与服务器添加客户端设备一样

自己搭建ObSidian同步环境 网络软件 第31张


  回到服务器端,再添加一个设备,设备ID为手机上显示的ID。

自己搭建ObSidian同步环境 网络软件 第32张


  共享中勾选刚刚添加的ObSidian。

自己搭建ObSidian同步环境 网络软件 第33张


  高级中的地址填写dynamic,完成后保存。

自己搭建ObSidian同步环境 网络软件 第34张


  安卓端回到首页,切换到“文件夹”选项卡,右上角点击加号添加。

  第一项为标签,随便填写,第二个是文件夹ID,注意要和服务器端的保持一致,第三个是手机上同步文件夹的路径,点击后可以选择自己想要的目录,第四个是选择要同步的设备,后面都可以采用默认设置,配置完成后点击右上角的保存。

自己搭建ObSidian同步环境 网络软件 第35张


  完成后在列表中可见该文件夹。

自己搭建ObSidian同步环境 网络软件 第36张


  在Syncthing的设置中,注意根据需要是否选择用流量同步,如果你同步的文件多,可能流量也会比较大。

自己搭建ObSidian同步环境 网络软件 第37张


  最后,先等待安卓端Syncthing完成同步,再启动ObSidian安卓版,点击界面中的Open folder as vault

自己搭建ObSidian同步环境 网络软件 第38张


  找到刚刚创建的文件夹。

自己搭建ObSidian同步环境 网络软件 第39张


  选中后点击底部的“使用此文件夹”。

自己搭建ObSidian同步环境 网络软件 第40张


  即可打开这个库。

自己搭建ObSidian同步环境 网络软件 第41张


服务器自启动

  由于在服务器直接执行syncthing会在命令行中直接运行程序,此时不可按Ctrl+C终端执行或者退出终端,否则会停止Syncthing运行,因此要设置为后台运行。

  只是后台运行的话,使用命令nohup syncthing &> /dev/null & 即可实现。

  但作为开机自启,需要设置为服务。

  服务文件在刚刚解压的文件夹中下的etc/linux-systemd/system中,输入cd /home/syncthing-linux-amd64-v1.18.6/etc/linux-systemd/system/进入这个文件夹

  输入ll或者ls查看文件,syncthing@.service就是我们要用的文件

  首先用mv命令给这个文件改名,@和.之间加上刚刚运行它的用户名,我用的是root执行的,因此要加root。

  输入命令mv syncthing@.service syncthing@root.service改名。

  文件中还有配置需要修改,输入命令vim syncthing@root.service修改文件,修改的内容在最后一个图。

  修改完成后将文件复制到系统目录下,输入命令cp syncthing@root.service /etc/systemd/system

  接下来启动服务:systemctl start syncthing@root.service

  设置开机自启动:systemctl enable syncthing@root.service

自己搭建ObSidian同步环境 网络软件 第42张


  要修改的内容在第10行,由于我之前是把syncthing文件复制到了/usr/local/bin目录下,所以这里等于号后面写的是/usr/local/bin/syncthing,后面保持不变

自己搭建ObSidian同步环境 网络软件 第43张



  以上就可以正常使用ObSidian和Syncthing搭配了。


  下载地址:

  https://url11.ctfile.com/d/15755911-46584293-6b28dc

  (访问密码:8156)

发表评论

表情:
验证码
评论列表 (暂无评论,153人围观)

还没有评论,来说两句吧...

分享:

支付宝

微信