
利用CouchDB备份你的obsidian数据
# 利用CouchDB备份你的obsidian数据
https://appstore.lazycat.cloud/#/shop/detail/xyz.youguanxinqing.app.couchdb
这次主要介绍使用 [obsidian-livesync 插件](https://github.com/vrtmrz/obsidian-livesync),结合 CouchDB 实现 obsidian 数据备份。
首先,在懒猫微服上安装 **CouchDB**。安装好以后点击“设置”,点击“Configure a Single Node”,输入默认的账号密码:admin / 123456。就日常使用来说,单节点已经足够。

我们再点“配置”,启用 CORS,允许所有域名。

到此,CouchDB 的配置就结束了。
------
现在我们打开 obsidian 安装插件。这里需要上一点点的科技手段,不然插件下载很慢。

插件安装好以后,点击“enable”,这个时候它会问你有没有 Setup URI 呀,我们当然没有,但是不着急,就把 obsidian 晾晒在那儿。

根据[文档](https://github.com/vrtmrz/obsidian-livesync/blob/main/docs/setup_own_server.md#4-client-setup)一键生成 Setup URI。简单来说就两个步骤:
1. 安装 deno。比如对于 macos 来说,我们只需要:`brew install deno`
https://appstore.lazycat.cloud/#/shop/detail/xyz.youguanxinqing.app.couchdb
2. 执行作者 vrtmrz 为我们写好的脚本:
```bash
# 声明环境变量
export hostname=https://tiles-photograph-routine-groundwater.trycloudflare.com #Point to your vault
export database=obsidiannotes #Please change as you like
export passphrase=dfsapkdjaskdjasdas #Please change as you like
export username=johndoe
export password=abc123
# 执行脚本
deno run -A https://raw.githubusercontent.com/vrtmrz/obsidian-livesync/main/utils/flyio/generate_setupuri.ts
```
在执行脚本前,我们需要替换掉 hostname,username 和 password。
- hostname 应该是 `http://couchdb.${微服名}.heiyu.space:5984`
- username 是 admin
- password 是 123456
在我的环境中,由于 hostname 变量已经被占用,于是我把脚本下载下来,将所有的 hostname 替换成了 hostname1。所以我执行脚本的方式是:
```bash
hostname1=http://couchdb.${微服名}.heiyu.space:5984 database=obsidiannotes passphrase=dfsapkdjaskdjasdas username=admin password=123456 deno run -A generate_setupuri.ts
```
如果不出意外,你就会看到下面这段输出:
```plain
Your passphrase of Setup-URI is: xxxxxx
This passphrase is never shown again, so please note it in a safe place.
obsidian://setuplivesync?settings=...
```
把 “obsidian://” 这串链接复制到浏览器中(或者直接点击也行),总之正确的回应就是 obsidian 被唤醒,让你输入 passphrase ,也就是 “Your passphrase of Setup-URI is” 后面的内容,注意不要复制到空格。之后点 Yes,你会看到这样一个界面:

我们这次是要把本地的数据备份到服务端,所以选择“Initialise new server data”就好。obsidian-livesync 还会弹出一些确认框,按你的喜好选择。如果看到右上角的有上传提示,那是说明配置是成功的!

此 App 尚未收到足够的评分或评论,无法显示评论列表。