Obsidian 多终端同步实现

58 阅读2分钟

Obsidian 可进行自建同步服务 步骤如下 需要用到 Self-hosted LiveSync 插件 此场景为无公网IP或者域名的情况下使用

self-hosted-livesync-server-tailscale部署

访问vrtmrz/self-hosted-livesync-server-tailscale 地址 可看到教程
其中涉及到tailscale 需要进行注册(可使用github或者其他应用授权登录) 首次登录会提示添加设备 可选择自己系统需要的版本进行安装 ★★ 这些不是重点 ★★

以下内容为重点步骤

image-20260120103257239.png

image-20260120103332367.png

image-20260120103406999.png 按照上述步骤生成Oauth Key

因为使用的是docker 形式 所以 需要进行tag标记操作(可理解为容器授权)

image-20260120103702646.png 需要开启HTTPS选项 在DNS 菜单栏中 image-20260120103807610.png

以上为准备操作 记下来为 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已经自建完成

image-20260120105216638.png

Self-hosted LiveSync 插件安装

image-20260120105927199.png

image-20260120105856537.png

image-20260120110043050.png

image-20260120110158176.png 生成的链接复制并在其他终端 该插件中设置