#!/bin/sh
set -e
#!/bin/sh
set -e

# Umgebungsvariablen-Substitution in Nginx-Konfiguration
if [ -n "$APP_ENV" ]; then
    echo "Setting APP_ENV to: $APP_ENV"
    sed -i "s/\${APP_ENV}/$APP_ENV/g" /etc/nginx/conf.d/default.conf
fi

# Warte auf PHP-FPM Container
echo "Waiting for PHP-FPM to be ready..."
while ! nc -z php 9000; do
    sleep 1
done
echo "PHP-FPM is ready!"

# SSL-Zertifikate prüfen
if [ ! -f "/var/www/ssl/fullchain.pem" ] || [ ! -f "/var/www/ssl/privkey.pem" ]; then
    echo "Warning: SSL certificates not found. HTTPS may not work properly."
fi

# Nginx-Konfiguration testen
echo "Testing Nginx configuration..."
nginx -t

# Nginx starten
echo "Starting Nginx..."
exec "$@"
until nc -z -w 2 php 9000; do
  echo "Warte auf PHP-FPM..."
  sleep 1
done

# Optional: eigene Umgebungsvariable mit Default setzen
export APP_ENV="${APP_ENV:-production}"

echo "Starte Nginx mit APP_ENV=$APP_ENV"

# Ersetze Platzhalter in temporäre Datei
envsubst '${APP_ENV}' < /etc/nginx/conf.d/default.conf > /tmp/default.conf

# Ersetzte Originalkonfiguration
cp /tmp/default.conf /etc/nginx/conf.d/default.conf

# WICHTIG: Rechte für stdout/stderr anpassen
chmod a+rw /dev/stdout /dev/stderr

# Nginx-Ordner Rechte anpassen
mkdir -p /var/cache/nginx /var/log/nginx
chown -R nginx:nginx /var/cache/nginx /var/log/nginx

# Stelle sicher, dass das SSL-Verzeichnis existiert
mkdir -p /var/www/ssl

# Jetzt kann nginx sicher starten
exec nginx -g 'daemon off;'
