Skip to content

DRNKNDev/valv

Repository files navigation

Valv

Your files, in sync with people and AI.

Valv is an open-source, self-hostable file sync product with a Rust sync engine and daemon, a native macOS Finder integration, scoped person/device sharing, and S3-compatible storage.

OSS CI Latest Release License: AGPL-3.0 Discord

Early access. The macOS app, CLI, daemon, and self-hosted backend are usable today. Expect rough edges and breaking changes between releases.

Support Matrix

Component Platform Notes
Valv app (Finder integration, menu bar) macOS (Apple Silicon), macOS 26.2 or newer Distributed as a signed, notarized DMG
valv CLI / valvd daemon (prebuilt) macOS arm64 (aarch64-apple-darwin), Linux x86_64 (x86_64-unknown-linux-gnu) Other targets require a source build
Core backend Any OS that runs a current Node.js LTS Requires SQLite or PostgreSQL and S3-compatible storage

Windows, Intel macOS, and Linux arm64 are not supported yet.

Install

  • macOS app: download the latest DMG from GitHub Releases.

  • CLI (macOS or Linux):

    curl -fsSL https://valvsync.com/install | bash

    This installs valv and valvd for your platform; see crates/valv-cli/README.md for manual install and build-from-source options.

First Folder

valv auth login
valv mount ~/Valv
valv status

auth login opens a browser to pair this device against the hosted backend (or your own, with --backend-url). mount creates a synced folder, and status reports daemon connectivity and per-folder sync state. See crates/valv-cli/README.md for the full command reference, including grant create, versions, restore, and update.

Implemented Highlights

  • Multiple simultaneous folder mounts
  • Native Finder integration via a macOS File Provider extension
  • Scoped person and device grants (read-only or read-write)
  • Content-defined chunking for efficient storage and transfer
  • Realtime delta sync over WebSocket push notifications
  • Version history and restore per file
  • Automatic conflict copies instead of silent overwrites
  • Chunk-level integrity verification
  • JSON output on status, versions, and grants for scripting/automation
  • Signed, checksum-verified CLI/daemon updates and a signed, notarized, Sparkle-updated macOS app

Self-Hosting

The Core backend is a self-hostable Node.js service (Hono, Drizzle, Better Auth) backed by SQLite or PostgreSQL and any S3-compatible object store (Cloudflare R2, MinIO, Backblaze B2, etc.). It does not ship a Docker Compose stack or a production container image; see core/README.md for setup, environment variables, and current limitations.

Architecture

flowchart LR
  subgraph mac[macOS device]
    app[Valv app + Finder File Provider]
    cli[valv CLI]
    daemon[valvd]
    app -->|loopback TCP| daemon
    cli -->|Unix socket| daemon
  end
  daemon -->|HTTPS + WebSocket| core[Core backend]
  core --> db[(SQLite or PostgreSQL)]
  core --> storage[(S3-compatible storage)]
Loading

valvd owns the sync engine for every mounted folder. Non-sandboxed clients (the CLI) reach it over a Unix socket; the sandboxed macOS app and File Provider extensions reach it over loopback TCP instead, since app sandboxing rules out the Unix socket path.

Repository Map

Development

See CONTRIBUTING.md for prerequisites and the full set of setup, typecheck, test, and build commands. In short, from the repository root:

pnpm install
pnpm typecheck
pnpm test:core

Community

License

Valv is licensed under AGPL-3.0-only. The full text in LICENSE is authoritative.

About

Open-source, self-hostable file sync for people and AI agents, with a Rust daemon and CLI, native macOS Finder integration, scoped sharing, and S3-compatible storage.

Topics

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors