Centralisation des variables d'environnement: - Création du .env.master avec toutes les variables - Mise à jour docker-compose.yml pour passer toutes les variables d'environnement - Suppression des références aux fichiers .env des services - Configuration centralisée pour tous les services
72 lines
2.1 KiB
Bash
Executable File
72 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
echo "🚀 DÉPLOIEMENT DE L'ARCHITECTURE AUTONOME LECOFFRE NODE"
|
|
echo "======================================================"
|
|
|
|
# Fonction de logging
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
|
}
|
|
|
|
# Variables
|
|
MASTER_IMAGE_NAME="lecoffre-node-master"
|
|
MASTER_IMAGE_TAG="ext"
|
|
CONTAINER_NAME="lecoffre-node-master"
|
|
HOST_PORT=8081
|
|
|
|
log "Construction de l'image master..."
|
|
cd /home/debian/4NK_env/lecoffre_node
|
|
|
|
# Construction de l'image master
|
|
docker build -f Dockerfile.master -t ${MASTER_IMAGE_NAME}:${MASTER_IMAGE_TAG} .
|
|
|
|
log "Arrêt du conteneur existant (si présent)..."
|
|
docker stop ${CONTAINER_NAME} 2>/dev/null || true
|
|
docker rm ${CONTAINER_NAME} 2>/dev/null || true
|
|
|
|
log "Démarrage du conteneur master..."
|
|
docker run -d \
|
|
--name ${CONTAINER_NAME} \
|
|
--privileged \
|
|
-p ${HOST_PORT}:80 \
|
|
-p 3005:3005 \
|
|
-p 3006:3006 \
|
|
-p 8080:8080 \
|
|
-p 3003:3003 \
|
|
-p 3004:3004 \
|
|
-p 8090:8090 \
|
|
-p 8091:8091 \
|
|
-p 8000:8000 \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
-v /home/debian/4NK_env/lecoffre_node/data:/app/data \
|
|
-v /home/debian/4NK_env/lecoffre_node/logs:/app/logs \
|
|
-v /home/debian/4NK_env/lecoffre_node/conf:/app/conf \
|
|
-v /home/debian/4NK_env/lecoffre_node/backup:/app/backup \
|
|
${MASTER_IMAGE_NAME}:${MASTER_IMAGE_TAG}
|
|
|
|
log "Attente du démarrage du conteneur master..."
|
|
sleep 30
|
|
|
|
log "Vérification du statut du conteneur..."
|
|
docker ps | grep ${CONTAINER_NAME}
|
|
|
|
log "Test de connectivité..."
|
|
sleep 10
|
|
if curl -f -s http://localhost:${HOST_PORT}/status/ > /dev/null; then
|
|
log "✅ Architecture autonome déployée avec succès!"
|
|
log "📊 Services disponibles:"
|
|
log " - Status Page: http://localhost:${HOST_PORT}/status/"
|
|
log " - Grafana: http://localhost:${HOST_PORT}/grafana/"
|
|
log " - LeCoffre Front: http://localhost:${HOST_PORT}/lecoffre/"
|
|
log " - IHM Client: http://localhost:${HOST_PORT}/"
|
|
log " - API Backend: http://localhost:${HOST_PORT}/api/"
|
|
else
|
|
log "❌ Problème de déploiement détecté"
|
|
log "Logs du conteneur:"
|
|
docker logs ${CONTAINER_NAME} --tail 20
|
|
exit 1
|
|
fi
|
|
|
|
log "🎉 Déploiement terminé avec succès!"
|