Manipulations manuelles — venv, account.yml et gestion des services (SSDV2)
Abstract
Cette page décrit les manipulations manuelles SSDV2 :
- chargement de l’environnement (profile.sh) et vérification du prompt (venv)
- lecture/écriture/suppression de clés dans account.yml via get_from_account_yml et manage_account_yml
- installation/désinstallation directe d’une application via launch_service et suppression_appli
- sortie propre de l’environnement avec deactivate
⚠️ Toutes les opérations doivent être effectuées hors root.
TL;DR¶
1) ✅ Non-root uniquement
2) source profile.sh → vous voyez (venv)
3) Lire : get_from_account_yml [clé]
4) Écrire : manage_account_yml clé valeur
5) Supprimer : manage_account_yml clé " " (suppression récursive)
6) Installer : launch_service service
7) Désinstaller : suppression_appli service
8) Quitter : deactivate
Principe premium
Toujours auditer avant de modifier : un get_from_account_yml rapide évite d’écraser une valeur sensible.
Règle absolue : ne pas être root¶
Pour toute opération, assurez-vous de ne pas être root.
Pourquoi ?
Exécuter ces commandes en root peut : - casser les permissions, - créer des fichiers appartenant à root, - provoquer des comportements inattendus (venv/Docker/scripts), - compliquer les corrections (chown à répétition).
Charger l’environnement (venv)¶
Exécutez :
cd /opt/seedbox-compose
source profile.sh
Après cela, vous devriez voir (venv) devant l’invite de commande.
Validation
Si le prompt affiche (venv), l’environnement est chargé.
Si (venv) n’apparaît pas
- Vérifiez le chemin :
/opt/seedbox-compose - Relancez
source profile.sh - Évitez de lancer le script en root (permissions cassées)
Comprendre account.yml (structure et clés)¶
Les clés sont séparées par des points.
Exemple YAML :
user:
domain: mydomain.net
La clé sera :
user.domain
et sa valeur :mydomain.net
Pourquoi cette notation ?
Elle permet de manipuler le YAML facilement depuis la CLI, sans éditer le fichier à la main.
Afficher tout le contenu de account.yml¶
Pour afficher dans le shell tout le contenu du fichier :
get_from_account_yml
Bon usage
Avant une modification, faites toujours un dump complet (ou un dump du bloc parent) pour éviter les surprises.
Manipuler account.yml¶
Écrire une clé (create/overwrite)¶
Crée la clé si elle n’existe pas, ou l’écrase si elle existe :
manage_account_yml cle valeur
Exemple :
manage_account_yml user.domain mondomaine.com
Écrasement
Si la clé existe, la valeur précédente est remplacée (pas de merge).
Faites un get_from_account_yml avant si vous n’êtes pas sûr.
Pattern safe (lecture → écriture → relecture)
get_from_account_yml user.domain
manage_account_yml user.domain mondomaine.com
get_from_account_yml user.domain
Effacer une clé (et ses sous-clés)¶
Efface la clé et toutes les sous-clés associées :
manage_account_yml cle " "
Exemple :
manage_account_yml user.domain " "
Suppression récursive
En supprimant une clé “parent”, vous supprimez aussi toute son arborescence.
Exemple : supprimer user peut supprimer domain/mail/pass/etc.
Avant suppression
Affichez d’abord l’arbre :
get_from_account_yml user
Obtenir la valeur d’une clé¶
get_from_account_yml cle
Exemple :
get_from_account_yml user.domain
Retour attendu :
mondomaine.com
Si la valeur n’est pas trouvée :
notfound
Obtenir une clé et toutes ses sous-clés¶
get_from_account_yml user
Exemple de retour :
domain: mondomaine.com group: null groupid: 1001 htpwd: seed:xxxxxxxxxxxxxx mail: moi@mondomaine.com name: seed pass: xxxxxxxxxxxxxx userid: 1001
Usage
Pratique pour auditer rapidement un bloc (ex. user, traefik, apps, etc.).
Installer / lancer une application sans passer par le menu¶
launch_service nomduservice
Exemples
launch_service plex
launch_service radarr
launch_service sonarr
Résultat attendu
Le service est déployé/démarré conformément à la recette (yml + account).
Désinstaller une application sans passer par le menu¶
suppression_appli nomduservice
Exemples
suppression_appli plex
suppression_appli radarr
suppression_appli sonarr
Impact
Selon le mode de suppression et l’implémentation, des éléments peuvent être retirés :
- container,
- fichiers .yml,
- entrées account.yml,
- et parfois données persistantes (selon options).
Avant suppression
Si vous avez un doute : privilégiez la réinitialisation (quand disponible) plutôt qu’une suppression destructrice.
Quitter l’environnement de manipulation¶
Pour sortir du venv :
deactivate
Validation
Le préfixe (venv) disparaît : vous êtes sorti de l’environnement.