lecoffre_node/scripts/deploy-master.sh
Nicolas Cantu 2f6da80408 ci: docker_tag=ext
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
2025-09-21 20:21:03 +00:00

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!"