四次元科技
科技、动漫、生活、学习以及一切

AnyType纯本地离线模式使用NAS进行同步备份

2024年09月15日 ·
分享 , 科技

前言

这几天对 Obsidian 的编辑实在是难以忍受,于是决定去寻找一款新的笔记软件,除了 Notion 之外,还看到了几款类似 Notion 的软件,比如 AnyTypeAppFlowyOutline 等。

Notion 有着极佳的编辑体验,又有量大管饱的免费额度,但是为什么不用 Notion 呢?想必了解笔记软件的人应该像我一样都明白,Notion 有两大痛点。

  • 网络连接不够流畅
  • 没有本地离线模式

这两个问题,本质上都是靠类似 Obsidian 这种本地存储的方式可以解决。但是本地模式又暴露出另一个问题,就是多端同步和备份。

我在研究了这几款类似的软件之后,发现 AnyType 有一个非常有趣的特性,就是它可以虽然是使用本地模式,但是通过 P2P 自动同步到局域网内的其他客户端。

于是就有了今天我准备做的这个操作,相信有的人可能已经猜到了。就是利用 Docker 在 NAS 里部署一个 AnyType 的桌面客户端,用于同步和备份数据。

配置需求

  • 一台内网部署的 x86 架构服务器
  • 服务器上已安装 docker 环境,并且可以使用 macvlan 网络驱动

部署方案

配置 macvlan 网络(已配置可跳过)

首先你需要配置一个 macvlan 网络,并且网段和局域网设备相同。

下面是我的配置,请你根据自己的状况酌情修改。

docker network create -d macvlan \
--subnet=192.168.9.0/24 \
--gateway=192.168.9.1 \
-o parent=eth0 \
macvlan

参数解释

docker network create -d macvlan \
--subnet=你的局域网子网网段 \
--gateway=你的局域网网关 \
-o parent=接入局域网的网卡 \
网络名

部署 docker 容器

我更推荐使用 docker compose 的方式部署容器。 创建 docker-compose.yaml 文件。

docker-compose.yaml

services:
  anytype:
    image: ghcr.io/yojigenserver/anytype:latest
    container_name: AnyType
    # 需要使用特权模式启动
    privileged: true
    volumes:
      # 请根据自己的文件路径修改
      - ./config:/config/.config/anytype
    environment:
      - TZ=Asia/Shanghai
      # 请根据自己需要设置的用户ID修改
      - PUID=1000
      # 请根据自己需要设置的用户租ID修改
      - PGID=1001
    networks:
      # 这里是你刚刚创建的网络的名字
      macvlan:
        # 这里填写你想给容器配置的局域网地址
        ipv4_address: 192.168.9.240
    restart: always

networks:
  # 这里是你刚刚创建的网络的名字
  macvlan:
    external: true

然后就是使用 docker compose up -d 启动容器。

配置 AnyType

使用浏览器打开你部署的服务,地址为你设置的 IP,这里我打开的地址是 http://192.168.9.240

接下来就和正常设置客户端一样,修改成中文。因为这里我使用离线模式,所以网络设置为仅本地。 库的地址不要修改,这个目录已经被 docker 映射到宿主了。

然后就是输入秘钥进入库,这里粘贴的话,可能需要在侧边栏打开剪贴板,先粘贴到剪贴板,然后再进入页面里进行粘贴。

接下来你就能看到客户端和容器中的数据已经进行同步了。

其他说明

目前存在的一些问题

首先是容器重启/VNC 内客户端重启,不会自动进入之前的库,而是要重新输入秘钥。这一点不知道原因是为什么,但是确实会导致容器重启不能自动进行同步,还是需要进 VNC 页面里设置一下,所以请尽量保证容器的稳定运行。

其次就是,我试图通过虚拟局域网的方式,在外网进行同步,但是目前尚未成功过,不清楚是网络的问题还是哪里需要调整配置。

总结

折腾了这一圈,其实就是为了要一个可以本地优先,又能免费云同步的一个笔记系统。

目前似乎只有 AnyType 可以做到全平台客户端,然后客户端又可以连接私有部署服务器和本地化 P2P 传输的。

不过其实还是感觉没有那么的稳妥,感觉可能自己应该还会继续尝试一些其他的方案吧。

如果有其他更好的方案的话,我也会继续分享的,敬请期待。

# AnyType # Docker # NAS # 笔记
评论