#!/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;'