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