Aller au contenu
DockBoard
Parcourir la documentation
DONNÉES

Volumes, fichiers et SFTP

Persistez vos données entre déploiements, parcourez les fichiers depuis le tableau de bord, et connectez-vous en SFTP.

Le système de fichiers d’un conteneur est jeté à chaque déploiement. Tout ce qui doit lui survivre — un répertoire d’uploads, les fichiers d’une base, un cache qu’on préfère ne pas reconstruire — vit dans un volume. Cette page couvre les volumes, l’explorateur de fichiers intégré, et l’accès SFTP.

Volumes

Un volume associe un chemin interne au conteneur à un stockage qui survit à un redéploiement. Déclarez-le sur l’application, au même endroit que les ports et les variables d’environnement :

TEXT
/app/uploads      →  persisted
/app/node_modules →  do NOT persist (rebuilt by the image)
/var/lib/data     →  persisted
Ne persistez jamais un chemin que l’image elle-même remplit — node_modules, vendor, un dist compilé. Un volume périmé masque alors l’image fraîchement construite, et vous déployez du nouveau code qui s’exécute sur les dépendances d’hier. Le symptôme : un build qui réussit et une application qui se comporte comme si elle n’avait jamais été déployée.

Les volumes sont capturés par les sauvegardes sous leur propre interrupteur, et ils survivent au changement de tag d’image — c’est précisément pourquoi un service marketplace ou une base conserve ses données lors d’une montée de version.

Supprimer une application demande explicitement quoi faire de ses volumes. Retirer le conteneur se rattrape en une minute ; retirer les données non — ce n’est donc jamais impliqué par une suppression cliquée trop vite.

Le gestionnaire de fichiers

Un explorateur des répertoires de données de vos applications et bases, directement dans le tableau de bord — sans shell, sans client SFTP, sans accès serveur :

  • Parcourir les répertoires, lire et modifier les fichiers texte sur place.
  • Téléverser et télécharger ; compresser une sélection en .zip ou .tar.gz ; extraire une archive sur place.
  • Renommer, déplacer, créer des répertoires, supprimer.
  • Changer les permissions et le propriétaire, ou lancer Réparer les permissions sur une arborescence — répertoires en 775, fichiers en 664.

La lecture exige files:view, l’écriture files:manage. L’explorateur est confiné aux périmètres auxquels vous avez réellement accès : il liste vos projets, leurs applications et leurs bases, et n’atteint rien au-delà.

Le bouton Réparer les permissions existe parce que la panne « ça marchait en local » la plus fréquente est un répertoire d’uploads que l’utilisateur du conteneur ne peut pas écrire. Essayez-le avant de déboguer l’application.

Le gestionnaire de fichiers indique aussi l’usage de stockage face au quota du projet, en octets. C’est le chiffre que les quotas font respecter : c’est donc celui à surveiller avant qu’un plafond de disque ne se mette à refuser des déploiements.

Comptes SFTP

Quand quelqu’un a besoin d’un vrai client SFTP — un designer qui pousse des fichiers de thème, un script de déploiement historique, un client qui n’apprendra pas un tableau de bord — délivrez un compte SFTP plutôt qu’un accès serveur :

Limité à une application
Le compte voit exactement les données d’une application. Le réglage par défaut approprié.
Limité à un projet
Un répertoire par application du projet, côte à côte. Pour quelqu’un qui travaille réellement sur tout le projet.

Chaque compte est chrooté : il est enfermé dans son propre répertoire personnel, et les données qu’il peut atteindre y sont montées explicitement, un répertoire par application. Il n’existe aucun chemin pour en sortir, ni aucun moyen de glisser latéralement vers les fichiers d’un autre locataire.

Un compte accepte un mot de passe, des clés publiques SSH, une permission en lecture seule ou en lecture-écriture, et une date d’expiration facultative. Rotation délivre un nouveau mot de passe, affiché une seule fois. Désactiver un compte coupe l’accès sans le supprimer — le bon geste quand quelqu’un s’en va et qu’on ne sait pas encore ce que ses scripts touchent.

Les comptes sont réappliqués depuis la base à chaque démarrage : recréer le conteneur SFTP — reconstruction d’image, redémarrage de l’hôte — ne les perd donc jamais en silence. Les écarts sont réconciliés vers la base, jamais l’inverse.
Posez une expiration sur tout compte délivré hors de votre équipe. Un compte qu’il faut penser à révoquer est un compte qui reste actif pendant des années.

Gérer les comptes exige sftp:manage ; les lister sftp:view. Aucun des deux n’appartient au rôle en lecture seule.

Volumes, fichiers et SFTP — DockBoard