88 lines
2.2 KiB
Bash
Executable File
88 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
echo "🚀 DÉMARRAGE DU CONTAINER MASTER LECOFFRE_NODE"
|
|
echo "=============================================="
|
|
|
|
# Fonction de logging
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
|
|
}
|
|
|
|
# Vérification des prérequis
|
|
log "Vérification des prérequis..."
|
|
|
|
# Vérifier que Docker est disponible
|
|
if ! command -v docker &> /dev/null; then
|
|
log "❌ Docker non disponible"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier que docker-compose est disponible
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
log "❌ Docker Compose non disponible"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier que Nginx est configuré
|
|
if [ ! -f /etc/nginx/nginx.conf ]; then
|
|
log "❌ Configuration Nginx manquante"
|
|
exit 1
|
|
fi
|
|
|
|
log "✅ Prérequis validés"
|
|
|
|
# Initialisation des répertoires
|
|
log "Initialisation des répertoires..."
|
|
mkdir -p /app/data /app/logs /var/log/supervisor
|
|
chown -R appuser:appuser /app/data /app/logs
|
|
|
|
# Configuration des permissions Docker
|
|
if [ -S /var/run/docker.sock ]; then
|
|
chown appuser:appuser /var/run/docker.sock
|
|
fi
|
|
|
|
# Test de la configuration Nginx
|
|
log "Test de la configuration Nginx..."
|
|
if ! nginx -t; then
|
|
log "❌ Configuration Nginx invalide"
|
|
exit 1
|
|
fi
|
|
|
|
log "✅ Configuration Nginx valide"
|
|
|
|
# Initialisation de la base de données Docker Compose
|
|
log "Initialisation Docker Compose..."
|
|
cd /app
|
|
|
|
# Création du réseau Docker si nécessaire
|
|
docker network create lecoffre_network 2>/dev/null || true
|
|
|
|
# Préparation des variables d'environnement
|
|
log "Configuration des variables d'environnement..."
|
|
export COMPOSE_PROJECT_NAME=lecoffre
|
|
export COMPOSE_FILE=/app/docker-compose.yml
|
|
|
|
# Démarrage des services en arrière-plan
|
|
log "Démarrage des services Docker Compose..."
|
|
nohup docker-compose up -d > /app/logs/docker-compose.log 2>&1 &
|
|
DOCKER_COMPOSE_PID=$!
|
|
|
|
# Attente du démarrage des services
|
|
log "Attente du démarrage des services..."
|
|
sleep 30
|
|
|
|
# Vérification de l'état des services
|
|
log "Vérification de l'état des services..."
|
|
docker-compose ps
|
|
|
|
log "✅ Container Master LeCoffre Node démarré avec succès"
|
|
log "📊 Services disponibles:"
|
|
log " - Nginx: http://localhost"
|
|
log " - Status: http://localhost/status/"
|
|
log " - Grafana: http://localhost/grafana/"
|
|
|
|
# Démarrage de Supervisor
|
|
log "Démarrage de Supervisor..."
|
|
exec "$@"
|