mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-02-19 10:38:47 +00:00
108 lines
5.5 KiB
Markdown
108 lines
5.5 KiB
Markdown
# Self-hosted LiveSync
|
||
|
||
Self-hosted LiveSync (自搭建在线同步) 是一个社区实现的在线同步插件。
|
||
它利用诸如CouchDB或对象存储系统(例如MinIO、S3、R2等)等强大的服务器解决方案,以确保数据同步的可靠性。。兼容所有支持 Obsidian 的平台。
|
||
|
||
此外,它现在支持使用WebRTC进行点对点同步(实验性功能),使您无需依赖服务器即可直接在设备之间同步笔记。
|
||
|
||
>[!IMPORTANT]
|
||
>本插件与官方的 "Obsidian Sync" 服务不兼容。
|
||
|
||

|
||
|
||
安装或升级 LiveSync 之前,请备份你的 vault。
|
||
|
||
## 功能
|
||
|
||
- 以最少流量高效同步vault
|
||
- 有效处理冲突的修改。
|
||
- 自动合并简单冲突。
|
||
- 服务端使用开源的解决方案
|
||
- 支持兼容的解决方案。
|
||
- 支持端到端加密。
|
||
- 同步设置、代码片段、主题和插件,通过 [Customisation Sync (Beta)](docs/settings.md#6-customization-sync-advanced) 或者 [Hidden File Sync](docs/settings.md#7-hidden-files-advanced).
|
||
- 启用 WebRTC 点对点同步,无需指定 `host`(实验性)。
|
||
- 此功能仍处于试验阶段。请在使用时务必谨慎。
|
||
- WebRTC 是一种点对点同步方法,因此**至少有一台设备必须在线才能进行同步**。
|
||
- 与其让您的设备作为稳定的对等节点保持在线,您可以使用两个 pseudo-peers:
|
||
- [livesync-serverpeer](https://github.com/vrtmrz/livesync-serverpeer): 在服务器上运行的 pseudo-client 用于在设备之间接收和发送数据。
|
||
- [webpeer](https://github.com/vrtmrz/livesync-commonlib/tree/main/apps/webpeer): 用于在设备之间接收和发送数据的pseudo-client。
|
||
- 一个预构建的实例现已上线,地址为 [fancy-syncing.vrtmrz.net/webpeer](https://fancy-syncing.vrtmrz.net/webpeer/) (托管于vrtmrz博客网站). 这也是一个点对点的实例。可自由使用。
|
||
- 欲了解更多信息,请参阅[英文说明文章](https://fancy-syncing.vrtmrz.net/blog/0034-p2p-sync-en.html)或[日文说明文章](https://fancy-syncing.vrtmrz.net/blog/0034-p2p-sync)。
|
||
|
||
此插件适用于出于安全原因需要将笔记完全自托管的研究人员、工程师或开发人员,以及任何喜欢笔记完全私密所带来的安全感的人。
|
||
|
||
>[!IMPORTANT]
|
||
> - 在安装或升级此插件之前,请务必备份您的保险库。
|
||
> - 请勿同时启用此插件与其它同步方案(包括iCloud和Obsidian Sync)。
|
||
> - 对于备份,我们还提供了一款名为[Differential ZIP Backup](https://github.com/vrtmrz/diffzip)的插件。
|
||
|
||
## 如何使用
|
||
|
||
### 3分钟搞定——在fly.io上部署CouchDB
|
||
|
||
**推荐初学者第一次使用此方法**
|
||
[](https://www.youtube.com/watch?v=7sa_I1832Xc)
|
||
|
||
1. [Setup CouchDB on fly.io](docs/setup_flyio.md)
|
||
2. 在 [Quick Setup](docs/quick_setup.md) 中配置插件。
|
||
|
||
### 手动设置
|
||
|
||
1. 配置服务器
|
||
1. [在fly.io上快速搭建CouchDB](docs/setup_flyio.md)
|
||
2. [自行搭建CouchDB](docs/setup_own_server.md)
|
||
2. 在[快速设置](docs/quick_setup.md)中配置插件
|
||
|
||
> [!提示]
|
||
> Fly.io现已不再免费。不过,尽管存在一些问题,我们仍可使用IBM Cloudant。请参考[搭建IBM Cloudant](docs/setup_cloudant.md)。
|
||
> 此外,我们还可以采用点对点同步方式,无需搭建服务器;或者选用价格极低的对象存储——Cloudflare R2可免费使用。
|
||
> 但最重要的是,我们可以选择自己信任的服务器。因此,建议您搭建自有服务器
|
||
> CouchDB可在树莓派上运行。(但请务必注意服务器的安全性)。
|
||
|
||
|
||
|
||
## 状态栏中的信息
|
||
|
||
同步状态显示在状态栏中,采用以下图标。
|
||
|
||
- 活动指示器
|
||
- 📲 网络请求
|
||
- 状态
|
||
- ⏹️ 已停止
|
||
- 💤 LiveSync已启用,正在等待更改
|
||
- ⚡️ 同步中
|
||
- ⚠ 发生了错误
|
||
- 统计指标
|
||
- ↑ 上传的分块与元数据
|
||
- ↓ 下载的分块与元数据
|
||
- 进度指示器
|
||
- 📥 未处理的传输项
|
||
- 📄 正在进行的数据库操作
|
||
- 💾 正在进行的写入存储进程
|
||
- ⏳ 正在进行的读取存储进程
|
||
- 🛫 待处理的读取存储进程
|
||
- 📬 批量处理的读取存储进程
|
||
- ⚙️ 正在进行或待处理的隐藏文件存储进程
|
||
- 🧩 等待中的分块
|
||
- 🔌 正在进行的自定义项(配置、代码片段和插件)
|
||
|
||
为避免文件和数据库损坏,请等待所有进度指示器尽可能消失后再关闭 Obsidian(插件也会尝试恢复同步进度)。特别是在您已删除或重命名文件的情况下,请务必遵守此操作。
|
||
|
||
|
||
## 使用技巧与故障排除
|
||
如果您在配置插件时遇到问题,请参阅:[Tips and Troubleshooting](docs/troubleshooting.md).
|
||
|
||
|
||
## 致谢
|
||
本项目得以持续顺利推进,离不开以下各方的贡献:
|
||
- 众多[贡献者](https://github.com/vrtmrz/obsidian-livesync/graphs/contributors)。
|
||
- 许多[GitHub 赞助人](https://github.com/sponsors/vrtmrz#sponsors)。
|
||
- JetBrains 社区计划/对开源项目的支持。<img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png" alt="JetBrains logo" height="24">
|
||
|
||
愿所有作出贡献的人士因其善良与慷慨而受到尊敬与铭记。
|
||
|
||
## 许可协议
|
||
|
||
本项目采用 MIT 许可协议授权。
|