diff --git a/.woodpecker.yml b/.woodpecker.yml index ed04f46..8f089b9 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -10,6 +10,7 @@ pipeline: - "latest" build_args: - "ALPINE_VERSION=${ALPINE_VERSION}" + - "ACCESS_LOG_VERSION=${ACCESS_LOG_VERSION}" - "BASE_IMAGE=gitea.nulo.in/sutty/monit" secrets: - "DOCKER_PASSWORD" @@ -19,3 +20,5 @@ pipeline: matrix: ALPINE_VERSION: - "3.17.3" + ACCESS_LOG_VERSION: + - "0.5.1" diff --git a/Dockerfile b/Dockerfile index 4f47a86..494ee52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,11 +4,12 @@ FROM ${BASE_IMAGE}:${ALPINE_VERSION} MAINTAINER "f " ARG ACCESS_LOGS_FLAGS="--database=sqlite3:///var/log/access_log.sqlite3 -c /usr/share/crawler-user-agents/crawler-user-agents.json" +ARG ACCESS_LOG_VERSION="0.5.1" ENV ACCESS_LOGS_FLAGS=${ACCESS_LOGS_FLAGS} # Install nginx and remove default config -RUN apk add --no-cache nginx daemonize access_log nginx-prometheus-exporter geoip2-database-country geoip2-database-city crawler-user-agents \ +RUN apk add --no-cache nginx daemonize access_log~${ACCESS_LOG_VERSION} nginx-prometheus-exporter geoip2-database-country geoip2-database-city crawler-user-agents \ && rm -rf /etc/nginx # Add ssl group so nginx has access to certificates diff --git a/nginx/access_logd_0.5.1.conf b/nginx/access_logd_0.5.1.conf new file mode 100644 index 0000000..e3091b9 --- /dev/null +++ b/nginx/access_logd_0.5.1.conf @@ -0,0 +1,3 @@ +log_format access_logd escape=json '{"host":"$host","msec":$msec,"server_protocol":"$server_protocol","request_method":"$request_method","request_completion":"$request_completion","uri":"$uri","query_string":"$query_string","status":$status,"sent_http_content_type":"$sent_http_content_type","sent_http_content_encoding":"$sent_http_content_encoding","sent_http_etag":"$sent_http_etag","sent_http_last_modified":"$sent_http_last_modified","http_accept":"$http_accept","http_accept_encoding":"$http_accept_encoding","http_accept_language":"$http_accept_language","http_pragma":"$http_pragma","http_cache_control":"$http_cache_control","http_if_none_match":"$http_if_none_match","http_dnt":"$http_dnt","http_user_agent":"$http_user_agent","http_origin":"$http_origin","http_referer":{"origin":"$http_origin","referrer":"$http_referer","policy":"origin-when-cross-origin"},"request_time":$request_time,"bytes_sent":$bytes_sent,"body_bytes_sent":$body_bytes_sent,"request_length":$request_length,"http_connection":"$http_connection","pipe":"$pipe","connection_requests":$connection_requests,"geoip2_data_country_name":"$geoip2_data_country_name","geoip2_data_country_iso_code":"$geoip2_data_country_iso_code","geoip2_data_city_name":"$geoip2_data_city_name","ssl_server_name":"$ssl_server_name","ssl_protocol":"$ssl_protocol","ssl_early_data":"$ssl_early_data","ssl_session_reused":"$ssl_session_reused","ssl_curves":"$ssl_curves","ssl_ciphers":"$ssl_ciphers","ssl_cipher":"$ssl_cipher","sent_http_x_xss_protection":"$sent_http_x_xss_protection","sent_http_x_frame_options":"$sent_http_x_frame_options","sent_http_x_content_type_options":"$sent_http_x_content_type_options","sent_http_strict_transport_security":"$sent_http_strict_transport_security","nginx_version":"$nginx_version","pid":"$pid","remote_user":"$remote_user","request_uri":"$request_uri"}'; + +access_log syslog:server=unix:/tmp/access_log.socket,nohostname access_logd;