diff --git a/docker/DockerfileNginx b/docker/DockerfileNginx index 926512e973554fc8b1e05da5d141e8a9f50a080a..724e573a40e7f3e4aa79dd7165be3186000810e3 100644 --- a/docker/DockerfileNginx +++ b/docker/DockerfileNginx @@ -1,5 +1,6 @@ FROM richarvey/nginx-php-fpm +RUN apk add --no-cache sysklogd ADD run-web.sh / RUN chmod 755 /run-web.sh diff --git a/docker/run-web.sh b/docker/run-web.sh index d6c2d4d4d77f7282c4c88c4d2f29ed44d5f42f3f..74bf5b6b6fd393b79dc7a5c152b448feb7d57a7a 100755 --- a/docker/run-web.sh +++ b/docker/run-web.sh @@ -1,18 +1,22 @@ #!/bin/bash +# fix php-fpm sed -ri ' /^php_flag\[display_errors\]/ d -$ a php_flag[display_errors] = on ' /usr/local/etc/php-fpm.conf -sed -ri ' +# check if our changes were applied yet +if ! grep -E '^\[program:sysklogd\]$' /etc/supervisord.conf >&/dev/null; then + # fix php-fpm configs + sed -ri ' /^;?error_log/ c error_log = syslog /^;?syslog.facility/ c syslog.facility = daemon /^;?syslog.ident/ c syslog.ident = php-fpm /^;?log_level/ c log_level = notice ' /usr/local/etc/php-fpm.d/*.conf -tee /usr/local/etc/php/conf.d/zzz-registration-system.ini << END + # add our own logging configuration + tee /usr/local/etc/php/conf.d/zzz-registration-system.ini >&/dev/null << END [PHP] error_reporting = E_ALL & ~E_NOTICE display_errors = On @@ -24,4 +28,21 @@ track_errors = On html_errors = On END + # fix nginx config access_log/error_log targets + sed -ri \ + 's/^([ \t]*)((access|error)_log) .*$/\1\2 syslog:server=unix:\/dev\/log,facility=local7,tag=nginx;/' \ + /etc/nginx/sites-enabled/* /etc/nginx/nginx.conf + + # cleanup logging options in supervisord (startup) + sed -ri '/^std(err|out)_.*=/ d' /etc/supervisord.conf + # add syslogger entry at the end of supervisord config + tee -a /etc/supervisord.conf >&/dev/null <<END +[program:sysklogd] +command = /usr/sbin/syslogd -d +autostart=true +autorestart=true +priority=1 +END +fi + exec /start.sh