#!/bin/bash

# Script automatique pour configuration SSL avec Let's Encrypt
# Usage: ./setup-ssl.sh votre-domaine.com

set -e

DOMAIN=$1
EMAIL="admin@$DOMAIN"

if [ -z "$DOMAIN" ]; then
    echo "❌ Usage: $0 votre-domaine.com"
    exit 1
fi

echo "🚀 Configuration SSL pour MediFlash SOS+ - Domaine: $DOMAIN"

# 1. Arrêter les services si en cours
echo "📦 Arrêt temporaire des services..."
docker-compose down || true

# 2. Installer Certbot si nécessaire
if ! command -v certbot &> /dev/null; then
    echo "📥 Installation de Certbot..."
    sudo apt update
    sudo apt install -y certbot python3-certbot-nginx
fi

# 3. Obtenir certificat SSL
echo "🔐 Obtention du certificat SSL pour $DOMAIN..."
sudo certbot certonly --standalone \
    --non-interactive \
    --agree-tos \
    --email $EMAIL \
    -d $DOMAIN \
    -d www.$DOMAIN

# 4. Créer répertoire SSL
echo "📁 Création du répertoire SSL..."
mkdir -p nginx/ssl

# 5. Copier certificats
echo "📋 Copie des certificats..."
sudo cp /etc/letsencrypt/live/$DOMAIN/fullchain.pem nginx/ssl/
sudo cp /etc/letsencrypt/live/$DOMAIN/privkey.pem nginx/ssl/
sudo chown $USER:$USER nginx/ssl/*.pem

# 6. Mettre à jour configuration NGINX
echo "⚙️ Configuration NGINX..."
sed -i "s/votre-domaine\.com/$DOMAIN/g" nginx/nginx-proxy.conf

# 7. Mettre à jour .env
echo "📝 Mise à jour du fichier .env..."
if [ -f .env ]; then
    sed -i "s|VITE_API_URL=.*|VITE_API_URL=https://$DOMAIN|g" .env
    sed -i "s|CORS_ORIGIN=.*|CORS_ORIGIN=https://$DOMAIN,https://www.$DOMAIN|g" .env
    sed -i "s|DOMAIN_NAME=.*|DOMAIN_NAME=$DOMAIN|g" .env
    sed -i "s|SSL_EMAIL=.*|SSL_EMAIL=$EMAIL|g" .env
else
    echo "⚠️ Fichier .env non trouvé. Copiez .env.example vers .env d'abord."
fi

# 8. Démarrer avec SSL
echo "🚀 Démarrage avec SSL..."
docker-compose --profile production up -d

# 9. Configurer renouvellement automatique
echo "🔄 Configuration renouvellement automatique..."
(crontab -l 2>/dev/null; echo "0 3 * * * certbot renew --quiet && docker-compose restart nginx-proxy") | crontab -

echo ""
echo "✅ Configuration SSL terminée !"
echo ""
echo "🌐 Votre site est accessible sur :"
echo "   - https://$DOMAIN"
echo "   - https://www.$DOMAIN"
echo ""
echo "🔍 Vérification SSL :"
echo "   curl -I https://$DOMAIN"
echo ""
echo "📋 Prochaines étapes :"
echo "   1. Tester l'accès HTTPS"
echo "   2. Configurer DNS si nécessaire"
echo "   3. Tester les paiements PaiementPro"
echo ""