36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
SERVER_NAME="${SERVER_NAME:-$(hostname -f 2>/dev/null || hostname)}"
|
|
export SERVER_NAME
|
|
|
|
# Render vhost ONLY into http.d so it's inside http{} context
|
|
if [ -f /etc/nginx/templates/default.conf.template ]; then
|
|
envsubst '$SERVER_NAME' < /etc/nginx/templates/default.conf.template > /etc/nginx/http.d/default.conf
|
|
else
|
|
echo "[entrypoint] ERROR: missing /etc/nginx/templates/default.conf.template" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Add basic authentication if enabled
|
|
if [ "$ENABLE_BASIC_AUTH" = "true" ]; then
|
|
echo "[entrypoint] Enabling basic authentication..."
|
|
if [ -f /etc/nginx/htpasswd ]; then
|
|
sed -i '/location \/ {/a \\t\tauth_basic "Restricted Content";\n\t\tauth_basic_user_file /etc/nginx/htpasswd;' /etc/nginx/http.d/default.conf
|
|
else
|
|
echo "[entrypoint] ERROR: htpasswd file not found at /etc/nginx/htpasswd" >&2
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "[entrypoint] Basic authentication is disabled."
|
|
fi
|
|
|
|
# Test nginx configuration
|
|
nginx -t || { echo "[entrypoint] nginx config test failed" >&2; cat /var/log/nginx/error.log || true; exit 1; }
|
|
|
|
# Clear Laravel caches
|
|
php artisan config:clear
|
|
php artisan cache:clear
|
|
|
|
# Start supervisord
|
|
exec /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf |