58 lines
1.8 KiB
Bash
58 lines
1.8 KiB
Bash
|
#!/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:8000"
|
||
|
|
||
|
# 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
|