36 lines
1.4 KiB
Bash
Executable File
36 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# =============================================================================
|
|
# Frontend entrypoint wrapper
|
|
# Translates LOG_LEVEL into nginx access log control before
|
|
# delegating to the standard nginx-unprivileged entrypoint.
|
|
#
|
|
# LOG_LEVEL=debug → all access logs enabled (including polling)
|
|
# LOG_LEVEL=info → access logs enabled, polling endpoints suppressed (default)
|
|
# LOG_LEVEL=warn|error|fatal|silent → all access logs suppressed
|
|
# =============================================================================
|
|
|
|
# Normalize: lowercase + trim whitespace
|
|
level=$(printf '%s' "${LOG_LEVEL:-info}" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')
|
|
|
|
case "$level" in
|
|
debug)
|
|
export NGINX_ACCESS_LOG="/dev/stdout timed"
|
|
export NGINX_POLLING_LOG="/dev/stdout timed"
|
|
echo "[nginx-entrypoint] LOG_LEVEL=${LOG_LEVEL} → access_log on (all requests)"
|
|
;;
|
|
warn|error|fatal|silent)
|
|
export NGINX_ACCESS_LOG="off"
|
|
export NGINX_POLLING_LOG="off"
|
|
echo "[nginx-entrypoint] LOG_LEVEL=${LOG_LEVEL} → access_log off"
|
|
;;
|
|
*)
|
|
# info (default): log everything except high-frequency polling endpoints
|
|
export NGINX_ACCESS_LOG="/dev/stdout timed"
|
|
export NGINX_POLLING_LOG="off"
|
|
echo "[nginx-entrypoint] LOG_LEVEL=${LOG_LEVEL:-info} → access_log on (polling suppressed)"
|
|
;;
|
|
esac
|
|
|
|
# Delegate to the original nginx-unprivileged entrypoint
|
|
exec /docker-entrypoint.sh "$@"
|