Sign inSign up

mahufong/fastnodesync_cli

By mahufong

•Updated about 2 months ago

Image
0

666

mahufong/fastnodesync_cli repository overview

⁠FastNodeSync CLI

将 Go1c/FastNodeSync-CLI⁠ 封装为支持 PUID/PGID 的 Docker 镜像,用于在无图形界面的服务器上双向同步 Obsidian 仓库。

GitHub Actions 每 6 小时检查一次上游 main 分支。只有对应 commit SHA 尚未发布时才会构建;上游没有更新则跳过。项目自身文件变更或手动触发工作流时仍会强制构建。构建时使用上游最新 commit SHA,推送以下镜像标签:

  • mahufong/fastnodesync_cli:latest
  • mahufong/fastnodesync_cli:sha-<上游短提交号>

⁠快速开始

mkdir -p config vault
cp config.yaml config/config.yaml
docker compose up -d

⁠Docker Compose 配置样例

services:
  fastnodesync-cli:
    image: mahufong/fastnodesync_cli:latest
    container_name: fastnodesync-cli
    restart: unless-stopped
    environment:
      PUID: "${PUID:-99}"
      PGID: "${PGID:-100}"
      TZ: "${TZ:-Asia/Shanghai}"
      # FNS_API: "${FNS_API:-}"
      # FNS_TOKEN: "${FNS_TOKEN:-}"
    volumes:
      - "${CONFIG_PATH:-./config}:/app/config"
      - "${VAULT_PATH:-./vault}:/app/vault"

可复制 .env.example 为 .env 后修改运行参数:

cp .env.example .env
docker compose up -d

GUID 是 PGID 的兼容别名。如果需要使用 GUID,请在 Compose 的 environment 中删除 PGID,改为:

environment:
  PUID: "${PUID:-99}"
  GUID: "${GUID:-100}"

编辑 config/config.yaml,至少设置:

server:
  api: "https://your-server-address"
  token: "your_jwt_token"
  vault: "defaultVault"

sync:
  watch_path: "/app/vault"

也可以将配置文件中的 api 和 token 留空,然后通过 FNS_API、FNS_TOKEN 环境变量传入。

⁠权限变量

变量默认值说明
PUID99进程运行用户的 UID
PGID100进程运行用户组的 GID
GUID-PGID 的兼容别名,仅在未设置 PGID 时生效

容器只会以指定 UID/GID 运行同步程序,不会修改 /app/config 和 /app/vault 中已有文件或目录的所有权。请提前确保该 UID/GID 对挂载目录具有所需的读写权限。

⁠Docker 命令示例

docker run -d \
  --name fastnodesync-cli \
  --restart unless-stopped \
  -e PUID=99 \
  -e PGID=100 \
  -e TZ=Asia/Shanghai \
  -v /path/to/config:/app/config \
  -v /path/to/vault:/app/vault \
  mahufong/fastnodesync_cli:latest

查看程序状态:

docker exec fastnodesync-cli python -m fns_cli.main status -c /app/config/config.yaml

⁠注意事项

  • server.vault 必须与 Obsidian 插件中设置的仓库名称一致。
  • 同步状态保存在 /app/vault/.fns_state.json,请持久化 /app/vault。
  • 上游当前没有正式 Release,因此自动构建跟踪其 main 分支。

Tag summary

Content type

Image

Digest

sha256:e4cd64c8d…

Size

47.6 MB

Last updated

about 2 months ago

docker pull mahufong/fastnodesync_cli