#!/bin/bash # # do_compose : Crée un dossier et un docker-compose dans /home/docker/ # Usage : do_compose nom_du_rep # ===================== CONFIG ===================== BASE_DIR="/home/docker" # Répertoire racine EDITOR="nano" # Editeur (nano, vim, etc.) DEFAULT_EXT="yaml" # Extension par défaut : yaml ou yml # =================================================== # Vérification argument if [ -z "$1" ]; then echo "❌ Utilisation : $0 nom_du_rep" exit 1 fi NAME="$1" TARGET_DIR="${BASE_DIR}/${NAME}" # Si dossier existe déjà if [ -d "$TARGET_DIR" ]; then echo "⚠️ Le répertoire '$TARGET_DIR' existe déjà." echo "📂 Contenu :" ls -lh --color=auto "$TARGET_DIR" # Vérifie si un docker-compose existe if [ -f "${TARGET_DIR}/docker-compose.yaml" ] || [ -f "${TARGET_DIR}/docker-compose.yml" ]; then echo "⚠️ Un fichier docker-compose existe déjà ici." fi # Demande à l'utilisateur s'il veut continuer read -rp "❓ Continuer quand même ? (o/n) : " REP if [[ ! "$REP" =~ ^[oOyY]$ ]]; then echo "❌ Opération annulée." exit 0 fi else mkdir -p "$TARGET_DIR" || { echo "❌ Impossible de créer $TARGET_DIR"; exit 1; } echo "📁 Répertoire '$TARGET_DIR' créé." fi # Nom du fichier compose COMPOSE_FILE="${TARGET_DIR}/docker-compose.${DEFAULT_EXT}" # Création du fichier si inexistant if [ -f "$COMPOSE_FILE" ]; then echo "⚠️ Le fichier $COMPOSE_FILE existe déjà." else touch "$COMPOSE_FILE" || { echo "❌ Impossible de créer $COMPOSE_FILE"; exit 1; } echo "📝 Fichier $COMPOSE_FILE créé." fi # Aller dans le dossier et ouvrir dans l'éditeur cd "$TARGET_DIR" || { echo "❌ Impossible d'accéder à $TARGET_DIR"; exit 1; } echo "✏️ Ouverture de $COMPOSE_FILE dans $EDITOR..." $EDITOR "$COMPOSE_FILE"