Initial vault setup
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
---
|
||||
title: Pluton
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, backups, chiffrement, s3, go, mit]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Backups, https://github.com/plutonhq/pluton]
|
||||
---
|
||||
|
||||
# 💾 Pluton
|
||||
|
||||
> **Une solution de backup client/serveur complète et chiffrée** : depuis un serveur Pluton central, planifiez et exécutez des backups sur tous vos endpoints vers du stockage local, S3 ou SFTP.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | (GitHub) |
|
||||
| **GitHub** | [plutonhq/pluton](https://github.com/plutonhq/pluton) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Go |
|
||||
| **Étoiles GitHub** | 476 ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-07 |
|
||||
| **Catégorie** | [[cat-backups|Backups]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Pluton** se positionne comme une **solution de backup unifiée** : un **serveur central de coordination** + des **agents (clients) sur chaque machine à sauvegarder**. Contrairement à [[app-restic]] ou [[app-borg]] qui sont des outils « un client = un repository », Pluton orchestre tout depuis une seule interface, façon **Bacula / Veeam Community Edition** mais en moderne et léger.
|
||||
|
||||
Le serveur Pluton expose une **API REST + UI web** pour :
|
||||
|
||||
- ✅ **Définir des plans de backup** (sources, destination, rétention, fréquence)
|
||||
- ✅ **Provisionner des agents** sur les endpoints (Linux, Windows, macOS, Docker)
|
||||
- ✅ **Chiffrement de bout en bout** (AES-256, clé maîtresse configurable par serveur)
|
||||
- ✅ **Stockage multi-destination** : disque local, NFS, **S3 / S3-compatible** (Backblaze B2, MinIO, Wasabi), SFTP
|
||||
- ✅ **Restauration granulaire** (fichier unique, dossier, snapshot complet) depuis l'UI
|
||||
- ✅ **Déduplication** côté client (chunks Rabin) avant upload → économie de bande passante
|
||||
- ✅ **Compression** (zstd) avant chiffrement
|
||||
- ✅ **Alertes** : échec, espace disque faible, dernière exécution trop ancienne
|
||||
- ✅ **API HTTP** pour intégration (n8n, scripts maison)
|
||||
- ✅ **Rétention GFS** (Grandfather-Father-Son) configurable
|
||||
- ✅ **Multi-utilisateurs** avec rôles (admin / opérateur / lecture seule)
|
||||
|
||||
**Public cible** : admins qui gèrent **plusieurs machines / NAS / VPS** et veulent un **point central de supervision** des backups, sans payer Veeam / Bacula Enterprise. C'est la philosophie « Veeam gratuit et self-hosted ».
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose (serveur + client local)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
pluton-server:
|
||||
image: ghcr.io/plutonhq/pluton:latest
|
||||
container_name: pluton-server
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8443:8443" # UI + API
|
||||
volumes:
|
||||
- pluton-data:/var/lib/pluton
|
||||
- pluton-config:/etc/pluton
|
||||
environment:
|
||||
- PLUTON_ADMIN_USER=admin
|
||||
- PLUTON_ADMIN_PASSWORD=changeme
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.pluton.rule=Host(`pluton.example.com`)"
|
||||
- "traefik.http.routers.pluton.entrypoints=websecure"
|
||||
- "traefik.http.routers.pluton.tls.certresolver=letsencrypt"
|
||||
|
||||
pluton-agent:
|
||||
image: ghcr.io/plutonhq/pluton-agent:latest
|
||||
container_name: pluton-agent
|
||||
restart: unless-stopped
|
||||
network_mode: host # pour accéder aux volumes Docker locaux
|
||||
volumes:
|
||||
- /var/lib/docker/volumes:/docker_volumes:ro
|
||||
- /etc/pluton-agent:/etc/pluton-agent
|
||||
environment:
|
||||
- PLUTON_SERVER=https://pluton.example.com:8443
|
||||
- PLUTON_AGENT_ID=nas01
|
||||
|
||||
volumes:
|
||||
pluton-data:
|
||||
pluton-config:
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Démarrer le serveur** : `docker compose up -d pluton-server`, puis accéder à `https://pluton.example.com:8443`.
|
||||
2. **Créer le compte admin** (premier lancement) et changer le mot de passe par défaut.
|
||||
3. **Configurer une destination** (Storage > New) : par ex. un bucket B2, en saisissant la clé d'accès, le secret et le endpoint S3.
|
||||
4. **Installer un agent** sur chaque machine à sauvegarder : récupérer le **token d'enregistrement** depuis l'UI (Agents > Add) et le coller dans la config de l'agent local.
|
||||
5. **Créer un plan de backup** (Plans > New) : source = `/docker_volumes` (ou `/home`, `/etc`), destination = bucket B2, fréquence = quotidien 03:00, rétention = 7 daily / 4 weekly / 6 monthly.
|
||||
6. **Vérifier le premier run** : onglet « History » doit montrer un premier snapshot complet dans la nuit ; tester une restauration d'un fichier via l'UI pour valider.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-restic]] + [[app-backrest]] — Restic + UI web d'orchestration, plus modulaire.
|
||||
- [[app-borg]] + [[app-borg-ui]] — Idem côté Borg.
|
||||
- [[app-kopia]] + [[app-kopia-ui]] — Kopia a une UI intégrée.
|
||||
- **Bacula Community** — La référence « enterprise open source », beaucoup plus complexe.
|
||||
- **Bareos** — Fork communautaire de Bacula, même philosophie.
|
||||
- **Duplicati** — Plus simple, mono-machine.
|
||||
|
||||
### Comparaison Pluton vs autres
|
||||
|
||||
| Critère | Pluton | Restic+Backrest | Bacula | Duplicati |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| UI web | ✅ | ✅ | ✅ (lourde) | ✅ |
|
||||
| Chiffrement E2E | ✅ | ✅ | ✅ | ✅ |
|
||||
| Déduplication | ✅ (client) | ✅ (client) | ✅ | ✅ |
|
||||
| Multi-endpoints | ✅ (natif) | Manuel | ✅ (natif) | ❌ |
|
||||
| Rétention GFS | ✅ | Manuel | ✅ | Basique |
|
||||
| Léger | Moyen | Léger | Lourd | Moyen |
|
||||
| Complexité setup | Moyenne | Faible | Élevée | Faible |
|
||||
|
||||
**Verdict** : Pluton est un **excellent compromis** pour qui veut **orchestrer des backups multi-machines** sans la complexité de Bacula. Pour un usage mono-machine, [[app-restic]] + [[app-backrest]] reste plus simple.
|
||||
|
||||
### Propriétaires
|
||||
- **Veeam Community Edition** — gratuit pour <10 VM, mais propriétaire.
|
||||
- **Acronis Cyber Protect Home Office** — propriétaire, grand public.
|
||||
- **Backblaze Personal** — propriétaire, 1 poste.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **Règle 3-2-1** : Pluton gère **multi-destinations** nativement, vous pouvez envoyer le même plan vers un NAS local ET un S3 — c'est exactement la règle 3-2-1 appliquée (cf. [[strategie-backup-321]]).
|
||||
- **Chiffrement E2E** : tout est chiffré côté agent avant upload. Le serveur Pluton lui-même ne stocke pas de clé de déchiffrement par défaut (mode zero-knowledge), ce qui protège vos données même si le serveur est compromis.
|
||||
- **Clé hors-ligne** : la clé maîtresse de chiffrement doit être exportée et stockée sur un support **hors-ligne** (USB chiffré LUKS, papier dans un coffre) — sans elle, aucun snapshot n'est déchiffrable.
|
||||
- **Test de restauration** : Pluton a un bouton « Test restore » dans l'UI — faites-le au moins une fois par trimestre sur une VM jetable pour valider l'intégrité, et mesurez le **RTO** (temps de restauration) attendu.
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub plutonhq/pluton](https://github.com/plutonhq/pluton)
|
||||
- [Documentation](https://github.com/plutonhq/pluton#readme)
|
||||
- [Démo / screenshots](https://github.com/plutonhq/pluton#screenshots)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-backups]] — Catégorie Backups
|
||||
- [[strategie-backup-321]] — Règle 3-2-1
|
||||
- [[app-restic]] — Alternative Restic
|
||||
- [[app-borg]] — Alternative Borg
|
||||
- [[app-kopia]] — Alternative Kopia
|
||||
- [[app-portainer]] — Gestion conteneurs
|
||||
- [[securisation-home-lab]] — Bonnes pratiques
|
||||
Reference in New Issue
Block a user