fabriquedoc/frontend/docker-run.sh
François Pelletier 4a6bfc951f Gros refactoring
2024-12-31 17:00:07 -05:00

58 lines
No EOL
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