Obsidian 可进行自建同步服务 步骤如下 需要用到 Self-hosted LiveSync 插件
此场景为无公网IP或者域名的情况下使用
self-hosted-livesync-server-tailscale部署
访问vrtmrz/self-hosted-livesync-server-tailscale 地址 可看到教程
其中涉及到tailscale 需要进行注册(可使用github或者其他应用授权登录) 首次登录会提示添加设备 可选择自己系统需要的版本进行安装 ★★ 这些不是重点 ★★
以下内容为重点步骤
按照上述步骤生成Oauth Key
因为使用的是docker 形式 所以 需要进行tag标记操作(可理解为容器授权)
需要开启HTTPS选项 在DNS 菜单栏中
以上为准备操作 记下来为 docker 相关操作 可创建一个指定目录 例如 obsidian
mkdir obsidian
#以下四个文件夹可参考 GitHub中给出的操作教程执行
mkdir -p tailscale-data couchdb-data conf ts-conf
创建docker-compose.yaml
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: couch-tailscale
environment:
- TS_AUTHKEY=生成的Oauth?ephemeral=false
- TS_EXTRA_ARGS=--advertise-tags=tag:container
- TS_SERVE_CONFIG=/config/ts-serve.json
- TS_STATE_DIR=/var/lib/tailscale
- TS_SOCKET=/var/run/tailscale/tailscaled.sock
- TS_USERSPACE=false
- TS_PRIVACY=public
volumes:
- ./tailscale-data:/var/lib/tailscale
- ${PWD}/ts-conf/ts-serve.json:/config/ts-serve.json:ro
- /dev/net/tun:/dev/net/tun
cap_add:
- net_admin
- sys_module
restart: unless-stopped
couchdb:
image: couchdb:3.4.2
container_name: couchdb
network_mode: service:tailscale
environment:
- COUCHDB_USER=账号
- COUCHDB_PASSWORD=密码
depends_on:
- tailscale
volumes:
- ./couchdb-data:/opt/couchdb/data
- ${PWD}/conf/local.ini:/opt/couchdb/etc/local.ini
restart: unless-stopped
volumes:
tailscale-data:
driver: local
couchdb-data:
driver: local
执行该docker-compose.yaml文件 第一次执行(无异常情况下) 需要执行
docker exec -it tailscale tailscale funnel 5984
#执行后正常情况下会看到以下提示 并访问给出的页面 登录授权即可
Funnel is enabled, but the list of allowed nodes in the tailnet policy file does not include the one you are using.
To give access to this node you can edit the tailnet policy file, or visit:```
https://login.tailscale.com/f/funnel?node=something random
最后找到启动的docker服务 并且点击进入 可在机器详情中找到Full domain 该URL为 couchdb的服务访问地址 到此步骤 couchdb已经自建完成
Self-hosted LiveSync 插件安装
生成的链接复制并在其他终端 该插件中设置