兜兜转转一圈,发现世界上最好用的笔记软件好像还是Obsidian,但是不少功能要付费,于是想着自建一个同步服务器
LiveSync是目前Obsidian自建服务器方案中使用者最多适用范围也最广的,可以实时同步,行级更新,缺点是部署上略微麻烦一些
今天记录一下在我的个人服务器上搭建LiveSync的流程
硬件配置
笔记本电脑
安卓手机
Linux主机
还有一台阿里云的服务器用于反代+ssl验证,但不涉及obsidian的配置所以不讨论
软件及安装包准备
Linux主机:docker-compose、couchdb官方镜像 couchdb:latest
安卓手机:Play Store Obsidian官方应用
笔记本电脑:Obsidian官网Windows版
具体流程
由于手机及笔记本电脑应用安装较为简单,不赘述,本文仅阐述同步服务器搭建及配置流程
创建docker-compose文件
couchdb是用于存储数据的数据库,Obsidian LiveSync 插件基于该数据库下的特定结构进行笔记的同步与用户管理等功能实现,因此需要先搭建此数据库
找到合适的目录,创建 docker-compose.yml 文件并按照个人情况填入以下配置
# docker-compose.yml
version: '3'
services:
couchdb:
image: couchdb:latest
container_name: obsidian_sync
ports:
- "5984:5984"
volumes:
- ./data:/opt/couchdb/data
- ./local.d:/opt/couchdb/etc/local.d
environment:
- COUCHDB_USER=yourusername # !!!这里替换成你的管理员账户名,请自行设置不要用默认的以免出现安全问题
- COUCHDB_PASSWORD=yourpassword # !!!这里替换成你的管理员密码,请自行设置不要用默认的以免出现安全问题
restart: always同时创建并配置好两个文件夹的权限
# Creating the save data & configuration directories.
mkdir data
mkdir local.d
# Changing perms to user 5984.
chown -R 5984:5984 ./data
chown -R 5984:5984 ./local.d注意:由于版本更迭,目前版本的镜像需要挂载目录
local.d而非直接挂载local.ini,找了不少旧教程都是让挂载local.ini的
运行与配置容器
使用指令
docker-compose up -d即可启动couchdb容器,但此时它还仅是一个空数据库,不包含任何 Obsidian LiveSync 插件所需要的特定表结构和数据,因此需要先对数据库进行表结构的初始化
curl -s https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/couchdb/couchdb-init.sh | hostname=http://<你的服务器地址>:5984 username=<前面的管理员账户名> password=<前面的管理员密码> bash运行成功的话会看到如下内容:
-- Configuring CouchDB by REST APIs... -->
{"ok":true}
""
""
""
""
""
""
""
""
""
<-- Configuring CouchDB by REST APIs Done!至此,一个可以供 Obsidian LiveSync 使用的服务端就完成啦
创建具体数据库及连接配置
下一步是创建用于存储具体数据的数据库,并将其以URI的形式直接导出以方便后续的客户端配置
运行官方脚本即可直接连接上 couchdb 、创建相应数据库、获取URI
export hostname=http://<你的服务器地址>:5984
export database=obsidiannotes # 数据库名字,按照喜好修改即可
export passphrase=dfsapkdjaskdjasdas # 用于加密连接的密码,按照喜好修改即可,不是管理员密码
export username=johndoe # 前面的管理员账户名
export password=abc123 # 前面的管理员密码
deno run -A https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/flyio/generate_setupuri.ts这里需要安装deno才可以运行最后的脚本,可以直接到官网下载一个deno的二进制文件,运行完就删,不会有任何残留
运行完成后将出现类似这样的输出
obsidian://setuplivesync?settings=%5B%22tm2DpsOE74nJAryprZO2M93wF%2Fvg.......4b26ed33230729%22%5D
Your passphrase of Setup-URI is: patient-haze
This passphrase is never shown again, so please note it in a safe place.最上一行就是咱们需要的URI,底下的 patient-haze (每次生成都不一样)是这个URI的密钥,两者都需要保存下来
客户端连接
Windows客户端连接
首先选择 设置 > 第三方插件 > 关闭安全模式 ,然后在 第三方插件 > 浏览插件市场 中搜索 LiveSync,找到第一个并安装,并选择启用
随后会弹出配置选项,一路确认,选择通过URI进行配置

此处填入上面保存的URI和密钥,选择 Test Settings and Continue
后续选择一路确认即可,等待程序自动设置完成后,在设置中点击第三方插件的LiveSync,并修改下图所示的配置

至此,客户端就配置完成
安卓客户端配置
流程上类似windows客户端,但需要先手动创建本地仓库,之后点击设置进行相同流程的配置即可
闽公网安备35072502001033号