110 lines
3.1 KiB
Bash
Executable File
110 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ===========================================
|
|
# LeDiscord - Script de setup automatique
|
|
# ===========================================
|
|
|
|
set -e # Arrêter en cas d'erreur
|
|
|
|
echo "🚀 Démarrage du setup de LeDiscord..."
|
|
|
|
# Vérifier que Docker est installé
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker n'est pas installé. Veuillez l'installer d'abord."
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
echo "❌ Docker Compose n'est pas installé. Veuillez l'installer d'abord."
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Docker et Docker Compose sont installés"
|
|
|
|
# Vérifier que les ports sont disponibles
|
|
check_port() {
|
|
local port=$1
|
|
if lsof -Pi :$port -sTCP:LISTEN -t >/dev/null ; then
|
|
echo "❌ Le port $port est déjà utilisé. Veuillez le libérer."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
echo "🔍 Vérification des ports..."
|
|
check_port 8000
|
|
check_port 5173
|
|
check_port 5432
|
|
echo "✅ Tous les ports sont disponibles"
|
|
|
|
# Créer le fichier .env s'il n'existe pas
|
|
if [ ! -f .env ]; then
|
|
echo "📝 Création du fichier .env..."
|
|
if [ -f env.example ]; then
|
|
cp env.example .env
|
|
echo "⚠️ Fichier .env créé à partir de env.example"
|
|
echo "⚠️ IMPORTANT: Modifiez le fichier .env avec vos valeurs avant de continuer"
|
|
echo "⚠️ Appuyez sur Entrée quand vous avez terminé..."
|
|
read
|
|
else
|
|
echo "❌ Fichier env.example non trouvé. Créez manuellement votre fichier .env"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "✅ Fichier .env existe déjà"
|
|
fi
|
|
|
|
# Créer le dossier uploads s'il n'existe pas
|
|
if [ ! -d uploads ]; then
|
|
echo "📁 Création du dossier uploads..."
|
|
mkdir -p uploads
|
|
touch uploads/.gitkeep
|
|
fi
|
|
|
|
# Construire et démarrer les services
|
|
echo "🔨 Construction des images Docker..."
|
|
docker-compose build
|
|
|
|
echo "🚀 Démarrage des services..."
|
|
docker-compose up -d
|
|
|
|
# Attendre que les services soient prêts
|
|
echo "⏳ Attente que les services soient prêts..."
|
|
sleep 30
|
|
|
|
# Vérifier que les services fonctionnent
|
|
echo "🔍 Vérification des services..."
|
|
|
|
if curl -s http://localhost:8000/health > /dev/null; then
|
|
echo "✅ Backend accessible sur http://localhost:8000"
|
|
else
|
|
echo "❌ Backend non accessible"
|
|
fi
|
|
|
|
if curl -s http://localhost:5173 > /dev/null; then
|
|
echo "✅ Frontend accessible sur http://localhost:5173"
|
|
else
|
|
echo "❌ Frontend non accessible"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 Setup terminé avec succès !"
|
|
echo ""
|
|
echo "📱 Accès à l'application :"
|
|
echo " Frontend: http://localhost:5173"
|
|
echo " API Docs: http://localhost:8000/docs"
|
|
echo ""
|
|
echo "🔑 Compte admin par défaut :"
|
|
echo " Email: admin@lediscord.com"
|
|
echo " Mot de passe: Celui défini dans votre fichier .env"
|
|
echo ""
|
|
echo "📚 Commandes utiles :"
|
|
echo " make start - Démarrer l'application"
|
|
echo " make stop - Arrêter l'application"
|
|
echo " make logs - Voir les logs"
|
|
echo " make help - Afficher l'aide"
|
|
echo ""
|
|
echo "⚠️ N'oubliez pas de :"
|
|
echo " 1. Changer le mot de passe admin par défaut"
|
|
echo " 2. Configurer une clé JWT_SECRET_KEY sécurisée"
|
|
echo " 3. Configurer l'email si nécessaire"
|