59 lines
1.4 KiB
Bash
59 lines
1.4 KiB
Bash
#!/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;'
|