Files
AFC-Demo/deploy/docker-entrypoint.sh
T
2025-10-30 10:57:22 +01:00

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