Última actividad 1 month ago

Crée un dossier et un docker-compose.yaml directement en une commande.

Revisión 0ccf6ae9b3619e1c0f368751d391030bfda7d4cd

do_compose.sh Sin formato
1#!/bin/bash
2#
3# do_compose : Crée un dossier et un docker-compose dans /home/docker/
4# Usage : do_compose nom_du_rep
5
6# ===================== CONFIG =====================
7BASE_DIR="/home/docker" # Répertoire racine
8EDITOR="nano" # Editeur (nano, vim, etc.)
9DEFAULT_EXT="yaml" # Extension par défaut : yaml ou yml
10# ===================================================
11
12# Vérification argument
13if [ -z "$1" ]; then
14 echo "❌ Utilisation : $0 nom_du_rep"
15 exit 1
16fi
17
18NAME="$1"
19TARGET_DIR="${BASE_DIR}/${NAME}"
20
21# Si dossier existe déjà
22if [ -d "$TARGET_DIR" ]; then
23 echo "⚠️ Le répertoire '$TARGET_DIR' existe déjà."
24 echo "📂 Contenu :"
25 ls -lh --color=auto "$TARGET_DIR"
26
27 # Vérifie si un docker-compose existe
28 if [ -f "${TARGET_DIR}/docker-compose.yaml" ] || [ -f "${TARGET_DIR}/docker-compose.yml" ]; then
29 echo "⚠️ Un fichier docker-compose existe déjà ici."
30 fi
31
32 # Demande à l'utilisateur s'il veut continuer
33 read -rp "❓ Continuer quand même ? (o/n) : " REP
34 if [[ ! "$REP" =~ ^[oOyY]$ ]]; then
35 echo "❌ Opération annulée."
36 exit 0
37 fi
38else
39 mkdir -p "$TARGET_DIR" || { echo "❌ Impossible de créer $TARGET_DIR"; exit 1; }
40 echo "📁 Répertoire '$TARGET_DIR' créé."
41fi
42
43# Nom du fichier compose
44COMPOSE_FILE="${TARGET_DIR}/docker-compose.${DEFAULT_EXT}"
45
46# Création du fichier si inexistant
47if [ -f "$COMPOSE_FILE" ]; then
48 echo "⚠️ Le fichier $COMPOSE_FILE existe déjà."
49else
50 touch "$COMPOSE_FILE" || { echo "❌ Impossible de créer $COMPOSE_FILE"; exit 1; }
51 echo "📝 Fichier $COMPOSE_FILE créé."
52fi
53
54# Aller dans le dossier et ouvrir dans l'éditeur
55cd "$TARGET_DIR" || { echo "❌ Impossible d'accéder à $TARGET_DIR"; exit 1; }
56echo "✏️ Ouverture de $COMPOSE_FILE dans $EDITOR..."
57$EDITOR "$COMPOSE_FILE"
58