---
title: Vykar
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, backups, chiffrement, deduplication, rust, mit, borgbase]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Backups, https://github.com/borgbase/vykar]
---

# 💾 Vykar

> **La relève de Borg par ses propres créateurs** : un moteur de backup chiffré et dédupliqué écrit en Rust, avec un format de repository moderne (ZST-compressé) pensé pour le cloud.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [borgbase.com](https://www.borgbase.com/) |
| **GitHub** | [borgbase/vykar](https://github.com/borgbase/vykar) |
| **License** | MIT |
| **Langage** | Rust |
| **Étoiles GitHub** | 633 ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-backups|Backups]] |

## 📝 Description

**Vykar** est un **logiciel de backup open source** maintenu par l'équipe derrière **BorgBase** — le service commercial qui héberge des dépôts Borg depuis 2015. Forts de plus de 10 ans à faire tourner Borg en production, ils ont décidé d'en réécrire un nouveau, en **Rust**, en gardant l'ADN (chiffrement + déduplication + compression) mais en modernisant ce qui les gênait dans Borg.

Concrètement, Vykar propose :

- ✅ **Chiffrement AES-256-GCM** côté client (avant upload) avec dérivation Argon2id
- ✅ **Déduplication par chunks** (similaire à Borg / Restic) — seuls les blocs nouveaux sont envoyés
- ✅ **Compression Zstandard** configurable (zstd) au lieu de zlib/lz4
- ✅ **Format de repository moderne** : pas de segments / pas de « repacker », tout est append-only → moins d'IO et de compaction
- ✅ **Backends distants** : local, S3, SFTP, S3-compatible (Backblaze B2, Wasabi, MinIO)
- ✅ **Snapshots incrémentaux** avec horodatage
- ✅ **Mount FUSE** : monter un snapshot comme un système de fichiers pour explorer / récupérer un fichier
- ✅ **CLI simple** : `vykar init`, `vykar backup`, `vykar list`, `vykar restore`
- ✅ **Pas de daemon** : un seul binaire statique Rust, à installer dans n'importe quel conteneur
- ✅ **Concurrent-safe** : plusieurs clients peuvent écrire dans le même repository

**Public cible** : utilisateurs avancés de [[app-borg]] qui veulent **un outil moderne sans la dette technique** (pas de compactage à gérer, logs plus propres, codebase Rust auditable), tout en gardant les concepts familiers.

## 🚀 Installation

### Docker Compose (binaire dans un conteneur éphémère)

Vykar n'a pas d'image « serveur » — c'est un **client** que vous exécutez via un cron dans un conteneur. Voici le pattern classique :

```yaml
# docker-compose.yml
version: '3.8'
services:
  vykar:
    image: ghcr.io/borgbase/vykar:latest
    container_name: vykar
    restart: unless-stopped
    entrypoint: ["sh", "-c", "while true; do vykar backup default; sleep 86400; done"]
    volumes:
      - ./data:/data:ro           # Données à sauvegarder
      - vykar-config:/root/.config/vykar
      - vykar-cache:/root/.cache/vykar
    environment:
      - TZ=Europe/Paris
      - VYKAR_REPOSITORY=s3:https://s3.eu-central-003.backblazeb2.com/mybucket
      - VYKAR_PASSPHRASE_FILE=/run/secrets/vykar_passphrase
    secrets:
      - vykar_passphrase
    labels:
      - "traefik.enable=false"  # Pas d'UI : cron interne

secrets:
  vykar_passphrase:
    file: ./vykar_passphrase.txt

volumes:
  vykar-config:
  vykar-cache:
```

> ℹ️ Adaptez le cron : `sleep 86400` = une fois par jour. Pour un cron plus fin utilisez un `cron` externe (host) qui appelle `docker exec vykar vykar backup default`.

## ⚙️ Configuration Initiale

1. **Préparer le backend distant** : créer un bucket S3 / B2 / un user SFTP et noter l'URL (`s3:https://...` ou `sftp:user@host:/path`).
2. **Initialiser le repository** (une seule fois) :
   ```bash
   docker compose run --rm vykar vykar init
   ```
   Il vous demande l'URL du repo et une passphrase — **notez-la dans un gestionnaire de mots de passe** (c'est le seul moyen de restaurer).
3. **Choisir les sources** : monter en `ro` les volumes à sauvegarder (`./data`, `/var/lib/docker/volumes/...`).
4. **Tester un premier backup** : `docker compose run --rm vykar vykar backup default` puis `vykar list` pour vérifier.
5. **Programmer** : utiliser le sleep-loop du compose ci-dessus, ou un cron host `0 3 * * * docker exec vykar vykar backup default`.
6. **Tester la restauration** sur un fichier non critique avant de considérer l'installation comme « production ».

## 🔄 Alternatives

### Open Source
- [[app-borg]] — Le « père » conceptuel de Vykar, en Python/C, plus mature mais plus ancien.
- [[app-restic]] — Le concurrent direct le plus populaire, en Go, écosystème énorme.
- [[app-kopia]] — UI moderne + multi-plateforme, en Go.
- **Duplicati** — UI web complète, cloud-first, mais plus lent.
- **BorgBase (commercial)** — Le service des auteurs de Vykar, si vous ne voulez pas gérer l'infra.

### Comparaison Vykar vs autres

| Critère | Vykar | Borg | Restic | Kopia |
| :--- | :--- | :--- | :--- | :--- |
| Langage | Rust | Python/C | Go | Go |
| Format repo | Append-only | Segments (compact) | Pack files | Pack files |
| Compression | zstd | zlib/lz4/zstd | none | zstd |
| Chiffrement | AES-256-GCM | AES-256-CTR | AES-256-CTR (chunks) | AES-256-GCM |
| Cloud-native | ✅ | ✅ (via fuse) | ✅ | ✅ |
| Mount FUSE | ✅ | ✅ | ✅ | ✅ |
| UI | ❌ | ❌ (sauf Borg UI) | ❌ (sauf Backrest) | ✅ |
| Maturité | Nouveau (2024+) | Éprouvé | Éprouvé | Éprouvé |

**Verdict** : Vykar est **l'alternative moderne** à Borg pour qui veut du code Rust auditable et un format append-only simple. Pour un écosystème mature et une UI, partez sur [[app-restic]] + [[app-backrest]] ou [[app-kopia]].

### Propriétaires
- **BorgBase** — Service commercial des auteurs, ~5 €/mois pour 100 Go.
- **Arq Backup** — macOS/Windows, propriétaire, hors sujet.
- **Backblaze B2 + Arq** — combo payant populaire.

## 🔐 Sécurité

- **Règle 3-2-1** : Vykar → S3/B2 (1 copie hors site) + on peut ajouter une seconde destination (local + cloud) dans la même commande `backup`.
- **Chiffrement** : tout est chiffré **côté client** (AES-256-GCM). Le fournisseur S3 ne voit jamais vos données en clair. La passphrase est la clé unique de restauration — **perdue = données irrécupérables**, stockez-la dans un KeePass / Bitwarden / Vaultwarden.
- **Clé hors-ligne** : la passphrase doit aussi exister sur **papier ou clé USB chiffrée** stockée ailleurs, pour les scénarios où votre gestionnaire de mots de passe est injoignable (cf. [[securisation-home-lab]]).
- **Test de restauration trimestriel** : lancez `vykar restore` sur un dataset test, mesurez le temps, vérifiez l'intégrité. Un backup non testé n'est pas un backup — voir [[strategie-backup-321]].

## 📚 Ressources

- [GitHub borgbase/vykar](https://github.com/borgbase/vykar)
- [BorgBase (service commercial)](https://www.borgbase.com/)
- [Documentation officielle](https://github.com/borgbase/vykar/blob/main/README.md)

## Pages Liées
- [[cat-backups]] — Catégorie Backups
- [[strategie-backup-321]] — Règle 3-2-1
- [[app-restic]] — Concurrent direct
- [[app-borg]] — Le « père » de Vykar
- [[app-kopia]] — Alternative moderne avec UI
- [[app-portainer]] — Gestion conteneurs
- [[securisation-home-lab]] — Bonnes pratiques
