#!/usr/bin/env bash # Fonction pour vérifier si une commande existe command_exists() { command -v "$1" >/dev/null 2>&1 } # Vérifier si Docker est installé if ! command_exists docker; then echo "Erreur : Docker n'est pas installé. Veuillez installer Docker et réessayer." exit 1 fi # Définir les variables NETWORK_NAME="fabriquedoc" CONTAINER_NAME="fabriquedoc-frontend" IMAGE_NAME="local/fabriquedoc-frontend" PORT="8051" ENV_FILE=".env" BACKEND_ENDPOINT="http://fabriquedoc:8080" # Créer le réseau Docker s'il n'existe pas déjà if ! docker network inspect "$NETWORK_NAME" >/dev/null 2>&1; then echo "Création du réseau Docker '$NETWORK_NAME'..." docker network create "$NETWORK_NAME" || { echo "Erreur lors de la création du réseau."; exit 1; } fi # Arrêter et supprimer le conteneur s'il existe echo "Arrêt et suppression du conteneur existant '$CONTAINER_NAME' (s'il existe)..." docker stop "$CONTAINER_NAME" >/dev/null 2>&1 docker rm "$CONTAINER_NAME" >/dev/null 2>&1 # Vérifier si le fichier .env existe if [ ! -f "$ENV_FILE" ]; then echo "Attention : Le fichier $ENV_FILE n'existe pas. Les variables d'environnement ne seront pas chargées." ENV_FILE_OPTION="" else ENV_FILE_OPTION="--env-file=$ENV_FILE" fi # Lancer le conteneur echo "Lancement du conteneur '$CONTAINER_NAME'..." docker run -d \ -p "$PORT:$PORT" \ $ENV_FILE_OPTION \ --name "$CONTAINER_NAME" \ --network "$NETWORK_NAME" \ --env FABRIQUEDOC_ENDPOINT="$BACKEND_ENDPOINT" \ "$IMAGE_NAME" # Vérifier si le conteneur a démarré avec succès if [ $? -eq 0 ]; then echo "Le conteneur '$CONTAINER_NAME' a été lancé avec succès." echo "Vous pouvez accéder à l'application sur http://localhost:$PORT" else echo "Erreur lors du lancement du conteneur '$CONTAINER_NAME'." exit 1 fi