इस प्रोजेक्ट के बारे में

PKV Sync provides a self-hosted alternative to managed cloud synchronization for Obsidian vaults. The system is built around a single binary that stores metadata in an SQLite database and maintains each vault as a bare git repository, eliminating the need for complex clustering or object storage. The project is licensed under AGPL-3.0-only and features a comprehensive README in English. Key capabilities include multi-user, multi-vault synchronization with per-vault push locks and idempotent retries. Real-time updates are delivered via Server-Sent Events (SSE) with sub-second latency for small edits, while polling remains available as a fallback. The use of git as the source of truth allows for detailed per-file history, unified diffs, and single-file restoration, both within the plugin and the admin panel. Conflict handling is explicit, with the plugin refusing to silently overwrite local edits and instead presenting .conflict-* files for manual resolution. The admin panel supports five languages (English, Simplified Chinese, Traditional Chinese, Japanese, Korean) and provides a user-friendly interface for managing users, device tokens, vaults, invites, activity, and blob garbage collection. Safety is prioritized with confirmation dialogs for destructive actions and a strict setup-grade password policy for admin-created passwords. The server also exposes MCP (Model-Context-Protocol) read/write tools over stdio, HTTP, or an embedded route, facilitating AI-readable vault access. Deployment is recommended via Docker Compose with Caddy for HTTPS termination, though native installs are also supported. The setup process involves generating a deployment key, configuring the server and network settings, and creating an initial administrator account. The Obsidian plugin integrates seamlessly, storing non-sensitive settings in the vault's data.json and utilizing device-local storage for login state and tokens. Device tokens are renewable and have a 90-day idle expiration, with a 365-day absolute lifetime. While version 1.0 does not yet include native end-to-end encryption, the server can read vault contents. The roadmap includes adding per-vault E2EE as an opt-in mode. In the meantime, users can leverage git-crypt for encrypted storage, though this comes with limitations regarding server-side features like history diff and MCP access. The project maintains a strong commitment to security, recommending HTTPS, restricted proxies, and encrypted data disks for production deployments. Releases are frequent and well-documented, with version 1.5.1 introducing a visual redesign and documentation improvements, and 1.5.0 focusing on audit remediation and performance enhancements. The public REST API, CLI, storage layout, and Docker image are all versioned under semver, with the OpenAPI spec serving as the definitive compatibility contract.