news

Cloud-PBS TUI : un client terminal pour sauvegarder vos hôtes Linux

Cloud-PBS TUI est une interface terminal qui guide la configuration et l'exécution de proxmox-backup-client sur un hôte Linux. Tour d'horizon factuel de l'outil et de son état actuel.

Cloud-PBS TUI : un client terminal pour sauvegarder vos hôtes Linux

Sauvegarder un hôte Linux vers un Proxmox Backup Server passe par le client officiel proxmox-backup-client. C’est un outil complet et fiable, mais entièrement en ligne de commande : il faut connaître le dépôt cible, le datastore, l’espace de noms, fournir un jeton d’API, assembler les bons chemins, gérer le chiffrement et planifier l’exécution. Pour un usage occasionnel ou pour standardiser un parc, la marge d’erreur est réelle.

Nous avons développé Cloud-PBS TUI pour répondre à ce besoin : une interface en mode texte qui guide ces étapes, sans rien masquer de ce que fait proxmox-backup-client en dessous. Voici un point factuel sur l’outil et son état actuel.

WARNING

Cloud-PBS TUI est encore en développement actif. Des effets de bord sont possibles et son usage n’est pas recommandé en production pour l’instant. Testez-le sur des hôtes non critiques et validez la restauration avant de vous appuyer dessus pour de la production.

Ce que c’est, et ce que ce n’est pas

Cloud-PBS TUI est une application terminal (TUI, terminal user interface) écrite en Go. Elle s’exécute directement dans une console, sans serveur graphique, ce qui la rend utilisable aussi bien sur un poste que sur un serveur en SSH.

Point important : l’outil n’embarque pas le code de proxmox-backup-client. Il l’invoque comme un sous-processus. Le client officiel doit donc être installé séparément sur l’hôte. Cloud-PBS TUI ne réimplémente pas la sauvegarde : il construit les commandes, les lance et en restitue la sortie. La logique de sauvegarde reste celle de Proxmox.

Le binaire est compilé en statique (CGO_ENABLED=0), sans dépendance externe, pour rester portable entre distributions Linux.

Les écrans

L’interface s’organise en cinq écrans, accessibles par les touches 1 à 5.

Accueil. Une vue de synthèse de la configuration courante : cible PBS, sources sélectionnées, planification active, langue de l’interface et version installée. La barre du bas rappelle les trois actions disponibles : lancer une sauvegarde (b), changer de langue (l), vérifier les mises à jour (u).

Écran Accueil de Cloud-PBS TUI : synthèse de la configuration courante.

Cible. Le formulaire de connexion au Proxmox Backup Server : adresse du dépôt, datastore, espace de noms et jeton d’API. L’empreinte du certificat est optionnelle et n’est nécessaire que pour un PBS auto-signé ; un PBS exposé derrière un certificat public (Let’s Encrypt, CA interne) n’en a pas besoin. Les champs sont validés avant d’être enregistrés.

Écran Cible : formulaire de connexion PBS avec empreinte de certificat optionnelle.

Sources. La sélection des chemins à inclure dans la sauvegarde. On navigue dans l’arborescence du système de fichiers pour ajouter ou retirer des répertoires, avec une estimation de la volumétrie concernée.

Écran Sources : chemins à sauvegarder et détail de la source sélectionnée.

Planning. La planification des sauvegardes récurrentes. L’écran génère les unités systemd correspondantes (.service et .timer) à partir de presets : toutes les heures, quotidien à 02:00 ou 23:00, hebdomadaire, mensuel, ou une expression OnCalendar personnalisée.

Écran Planning : choix de la fréquence des sauvegardes automatiques.

Sauvegardes. La consultation des snapshots présents dans le datastore, et leur restauration. L’écran s’ouvre sur une vue à deux niveaux : une liste des groupes de sauvegarde (host/dev01, host/pve01…), une ligne par hôte, triée par activité récente. Entrée sur un groupe ouvre la liste des snapshots datés à l’intérieur. Chaque ligne de snapshot affiche les noms des archives qu’il contient (root, etc, opt…), pour distinguer facilement deux sauvegardes d’un même hôte.

Écran Sauvegardes : groupes de sauvegarde du datastore, une ligne par hôte.

Les permissions du jeton sont testées au passage : un jeton limité à Datastore.Backup peut écrire des sauvegardes sans pour autant être autorisé à les lire. L’écran le signale plutôt que d’échouer sans explication.

La restauration est sélective : une fois un snapshot choisi, l’archive est montée via FUSE et vous cochez les fichiers ou dossiers exacts à restaurer. Aucune sélection restaure l’archive entière.

Écran Restauration : sélection fichier par fichier dans une archive montée.

L’exécution d’une sauvegarde se fait depuis un panneau dédié qui affiche les logs en temps réel, le temps que proxmox-backup-client traite les sources.

Le chiffrement

Cloud-PBS TUI peut générer une clé de chiffrement côté client, via proxmox-backup-client key create. La sauvegarde est alors chiffrée avant de quitter l’hôte.

La clé est générée sans phrase de passe (--kdf none) : le secret réside uniquement dans le fichier de clé, dont la confidentialité repose sur les permissions du système de fichiers. L’outil ne remplace jamais une clé existante, pour éviter de rendre des sauvegardes illisibles par accident.

Mise à jour intégrée

Depuis l’écran Accueil, la touche u ouvre un petit gestionnaire de mise à jour : il interroge la dernière version publiée sur cloud-pbs.com, affiche la version installée à côté et, si une nouvelle release est disponible, télécharge le binaire, vérifie son empreinte SHA-256 contre SHA256SUMS et se remplace lui-même de manière atomique. Quittez et relancez l’outil pour utiliser la nouvelle version.

Gestionnaire de mise à jour : version installée et dernière version disponible.

Le remplacement est sûr même pendant l’exécution du binaire : Linux conserve l’inode tant que le processus tourne. Le rename atomique garantit que le fichier n’est jamais à moitié écrit.

La configuration

La configuration est enregistrée localement, dans les répertoires standards XDG (~/.config/cloudpbs-tui pour la configuration, ~/.local/state/cloudpbs-tui pour les logs). Le jeton d’API est traité comme un secret. La configuration est relue au lancement : on retrouve sa cible, ses sources et sa planification d’une session à l’autre.

L’état du projet à date

Le développement avance par jalons. À ce jour :

  • la configuration de la cible, des sources et de la planification est complète ;
  • l’exécution des sauvegardes avec logs en temps réel fonctionne ;
  • le chiffrement côté client est en place ;
  • la consultation des snapshots et leur restauration, intégrale ou fichier par fichier, sont disponibles ;
  • un gestionnaire de mise à jour intégré (touche u depuis l’Accueil) tient l’outil à jour ;
  • une chaîne d’intégration continue compile et publie les binaires Linux (amd64) à chaque release.

Plusieurs versions ont été publiées, la dernière étant la v0.5.6 (voir les notes de version ci-dessous).

Reste à venir : le packaging .deb, pour une installation via apt, et l’ouverture du code source une fois la licence finalisée. L’outil est en développement actif.

Télécharger

Cloud-PBS TUI est disponible pour Linux amd64 (x86-64), la seule architecture pour laquelle Proxmox distribue proxmox-backup-client.

Installation automatique (recommandé)

Le script d’installation met en place Cloud-PBS TUI et ses dépendances (proxmox-backup-client, FUSE) :

curl -fsSL https://cloud-pbs.com/downloads/cloudpbs-tui/install.sh | sudo bash

Il détecte automatiquement la version Debian de l’hôte (bookworm / trixie / bullseye) et récupère proxmox-backup-client depuis le dépôt Proxmox correspondant, ou son binaire statique sur les distributions non Debian, puis installe Cloud-PBS TUI.

Mise à jour

Une fois installé, le plus simple pour mettre à jour est de le faire depuis l’outil : ouvrez l’écran Accueil (touche 1) et appuyez sur u. Le gestionnaire intégré récupère la dernière version, vérifie son empreinte SHA-256 et remplace le binaire en place.

Installation manuelle

Le binaire est compilé et publié à chaque release. Les liens ci-dessous pointent toujours vers la dernière version :

Après téléchargement, vérifiez l’intégrité de l’archive puis décompressez-la :

sha256sum -c SHA256SUMS
tar xzf cloudpbs-tui-linux-amd64.tar.gz
./cloudpbs-tui

Rappel : proxmox-backup-client doit être installé séparément sur l’hôte pour exécuter une sauvegarde réelle.

Notes de version

v0.5.6

  • L’unité systemd .service générée positionne désormais Environment=HOME=%h pour que les sauvegardes planifiées retrouvent le secret PBS en mode service.

v0.5.5

  • Le chemin du binaire dans l’unité systemd .service est résolu dynamiquement, ce qui corrige les sauvegardes planifiées quand Cloud-PBS TUI est installé hors de /usr/bin. Le gestionnaire de mise à jour régénère l’unité après chaque installation pour rester aligné sur le bon chemin.

v0.5.4

  • Gestionnaire de mise à jour intégré : touche u depuis l’Accueil pour vérifier, télécharger (avec vérification SHA-256) et installer la dernière version en place.

v0.5.3

  • Écran Sauvegardes réorganisé en deux niveaux : la liste des groupes (host/id) d’abord, puis les snapshots datés à l’ouverture d’un groupe. L’écran reste lisible sur un hôte sauvegardé plusieurs fois par jour.
  • Chaque ligne de snapshot affiche désormais les noms des archives qu’il contient (root, etc, opt…) au lieu d’un compteur générique, pour distinguer deux sauvegardes du même hôte.
  • L’empreinte du certificat est optionnelle : un PBS exposé derrière un certificat public (Let’s Encrypt, CA interne du magasin système) n’exige plus l’empreinte — le client bascule sur la vérification TLS standard.
  • La langue par défaut est désormais l’anglais, indépendamment de la locale système. La bascule vers le français reste accessible avec l depuis l’Accueil.

v0.5.2 / v0.5.1

  • Durcissement de l’installeur : auto-détection de la version Debian (Debian 13 trixie inclus) et sortie propre du script à la fin.

v0.5.0

  • Interface bilingue anglais et français, changeable à tout moment depuis l’écran d’accueil.
  • Affichage de la version de l’outil dans l’en-tête.

v0.4.2

  • Restauration sélective : le contenu d’une sauvegarde s’explore (via un montage FUSE) pour choisir les fichiers ou dossiers précis à restaurer, au lieu de l’archive entière.
  • Création d’un dossier directement depuis l’écran de choix de la destination.

v0.4.1

  • Interface centrée dans un encadré, pour un meilleur confort de lecture sur les terminaux larges.
  • Couleurs alignées sur la charte Cloud-PBS.

Pour qui

Cloud-PBS TUI s’adresse aux administrateurs qui sauvegardent des hôtes Linux vers un Proxmox Backup Server, qu’il s’agisse d’une instance Cloud-PBS infogérée ou d’un PBS auto-hébergé. C’est un composant de notre écosystème Cloud-PBS, conçu d’abord pour nos propres usages, et que nous ouvrons progressivement.

Vous gérez un parc Linux et la sauvegarde vers PBS vous occupe plus que de raison ? Parlons-en.

cloud-pbs linux proxmox-backup-client outil

Prêt à essayer Cloud-PBS ?

Démarrez votre essai gratuit de 7 jours dès aujourd'hui.

Démarrer l'essai gratuit