https://github.com/borgbase/vykar
Fast, encrypted, deduplicated backups in Rust — with friendly YAML config, a desktop GUI, and support for S3, custom REST and SFTP storage.
https://github.com/borgbase/vykar
backup rust sysadmin
Last synced: about 7 hours ago
JSON representation
Fast, encrypted, deduplicated backups in Rust — with friendly YAML config, a desktop GUI, and support for S3, custom REST and SFTP storage.
- Host: GitHub
- URL: https://github.com/borgbase/vykar
- Owner: borgbase
- License: gpl-3.0
- Created: 2026-02-11T20:23:32.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-03-02T17:37:21.000Z (12 days ago)
- Last Synced: 2026-03-02T19:45:17.162Z (11 days ago)
- Topics: backup, rust, sysadmin
- Language: Rust
- Homepage: https://vykar.borgbase.com
- Size: 16.9 MB
- Stars: 57
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Vykar Backup
A fast, encrypted, deduplicated backup tool written in Rust centered around a friendly YAML config file.
Inspired by [BorgBackup](https://github.com/borgbackup/borg/), [Borgmatic](https://torsion.org/borgmatic/), [Restic](https://github.com/restic/restic), and [Rustic](https://github.com/rustic-rs/rustic). Vykar uses its own on-disk format and is not compatible with Borg or Restic repositories.
**⚠️ Don't use for production backups yet, but do test it along other backup tools.**
## Features
- **Storage backends** — local filesystem, S3 (any compatible provider), SFTP, dedicated REST server
- **Encryption** with AES-256-GCM or ChaCha20-Poly1305 (auto-selected) and Argon2id key derivation
- **YAML-based configuration** with multiple repositories, hooks, and command dumps for monitoring and database backups
- **Deduplication** via FastCDC content-defined chunking with a memory-optimized engine (tiered dedup index + mmap-backed pack assembly)
- **Compression** with LZ4 or Zstandard
- **Built-in WebDAV and desktop GUI** to browse and restore snapshots
- **REST server** with append-only enforcement, quotas, and server-side compaction
- **Concurrent multi-client backups** — multiple machines back up to the same repository simultaneously; only the brief commit phase is serialized
- **Built-in scheduling** via `vykar daemon` — runs backup cycles on a configurable interval (no cron needed)
- **Resource limits** for worker threads, backend connections, and upload/download bandwidth
- **Cross-platform** — Linux, macOS, and Windows
## Benchmarks
Vykar leads in both speed and CPU efficiency, while maintaining competitive memory usage.

All benchmarks were run on the same idle Intel i7-6700 CPU @ 3.40GHz machine with 2x Samsung PM981 NVMe drives. Compression settings were chosen to keep resulting repository sizes comparable. The sample corpus is a mix of small and large files with varying compressibility. See our [benchmark script](https://github.com/borgbase/vykar/tree/main/scripts) for full details.
## Quick start
```bash
curl -fsSL https://vykar.borgbase.com/install.sh | sh
```
Or download the latest release for your platform from the [releases page](https://github.com/borgbase/vykar/releases). A [Docker image](https://vykar.borgbase.com/install#docker) is also available.
```bash
# Generate a starter config and edit it
vykar config
# Initialize the repository and run a backup
vykar init
vykar backup
# List snapshots
vykar list
```
See the [full documentation](https://vykar.borgbase.com) for storage backends, restore, maintenance, and more.
## Desktop UI
`vykar-gui` is a Slint-based desktop app that uses `vykar-core` directly (it does not shell out to the CLI).
- Run backups on demand
- List snapshots and browse snapshot contents
- Extract snapshot contents
- Run in the system tray with periodic background backups
- Uses `vykar.yaml` as the source of truth and auto-reloads config changes
Periodic GUI scheduling is configured in `vykar.yaml` via:
```yaml
schedule:
enabled: true
every: "24h"
on_startup: false
jitter_seconds: 0
passphrase_prompt_timeout_seconds: 300
```
## Security
To report a security vulnerability, please email [hello@borgbase.com](mailto:hello@borgbase.com).
## License
GNU General Public License v3.0