#!/usr/bin/with-contenv bashio
set -e

bashio::log.info "=== Service Nginx pour l'Ingress ==="

# Attendre que CookCLI soit prêt (port 9081)
bashio::log.info "Attente du démarrage de CookCLI sur le port 9081..."
MAX_RETRIES=30
RETRY_COUNT=0

while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
    # Vérifier si le port 9081 est accessible
    if nc -z 127.0.0.1 9081 2>/dev/null || curl -s -o /dev/null http://127.0.0.1:9081/api/stats 2>/dev/null; then
        bashio::log.info "✅ CookCLI est prêt sur le port 9081"
        break
    fi
    RETRY_COUNT=$((RETRY_COUNT + 1))
    bashio::log.info "⏳ Attente de CookCLI... (${RETRY_COUNT}/${MAX_RETRIES})"
    sleep 1
done

if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then
    bashio::log.warning "⚠️ CookCLI n'a pas démarré dans les délais, démarrage de Nginx quand même..."
fi

# Démarrer Nginx
bashio::log.info "Démarrage de Nginx..."
exec nginx -g "daemon off;" >> /proc/1/fd/1 2>&1

bashio::discovery.set "cookcli" \
    '{"host": "'"$(bashio::addon.ip_address)"'", "port": 9080, "ssl": false}'