diff --git a/mainline/alpine-perl/Dockerfile b/mainline/alpine-perl/Dockerfile index d14ebc4b2759e8dc62db18fc9b5bd9c722dd2a1a..3fef8fbee3314bdf4db3a8afd89d5b7a735a1fae 100644 --- a/mainline/alpine-perl/Dockerfile +++ b/mainline/alpine-perl/Dockerfile @@ -107,7 +107,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/mainline/alpine-perl/docker-entrypoint.sh b/mainline/alpine-perl/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/mainline/alpine-perl/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/mainline/alpine/Dockerfile b/mainline/alpine/Dockerfile index 6b8391862916b83c57dc255def956c8b23aac01f..619fc4e9013fae0075aba69e5b86425009f0b09f 100644 --- a/mainline/alpine/Dockerfile +++ b/mainline/alpine/Dockerfile @@ -106,7 +106,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/mainline/alpine/docker-entrypoint.sh b/mainline/alpine/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/mainline/alpine/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/mainline/buster-perl/Dockerfile b/mainline/buster-perl/Dockerfile index 294f86ecf08b6af56f5539507cd54d0fd97a5e13..26ac40ddb968ea716208dd668b08af5ffe32b8c5 100644 --- a/mainline/buster-perl/Dockerfile +++ b/mainline/buster-perl/Dockerfile @@ -98,7 +98,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/mainline/buster-perl/docker-entrypoint.sh b/mainline/buster-perl/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/mainline/buster-perl/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/mainline/buster/Dockerfile b/mainline/buster/Dockerfile index 7042171619bcf7ccc553dcf083e53c13be1833e0..392e05265090e0977dd473abb6a1027c35749972 100644 --- a/mainline/buster/Dockerfile +++ b/mainline/buster/Dockerfile @@ -97,7 +97,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/mainline/buster/docker-entrypoint.sh b/mainline/buster/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/mainline/buster/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/stable/alpine-perl/Dockerfile b/stable/alpine-perl/Dockerfile index 8aa45d0c3f05436cd36c4b16696eb601532caa51..d470dadab0c7987826a99613305a91edb58fcbb6 100644 --- a/stable/alpine-perl/Dockerfile +++ b/stable/alpine-perl/Dockerfile @@ -107,7 +107,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/stable/alpine-perl/docker-entrypoint.sh b/stable/alpine-perl/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/stable/alpine-perl/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/stable/alpine/Dockerfile b/stable/alpine/Dockerfile index fedb169cda20ae278aa3e7d6cb151042a908ea49..32c6746d5333a51370a217e8c5233bdec9426336 100644 --- a/stable/alpine/Dockerfile +++ b/stable/alpine/Dockerfile @@ -106,7 +106,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/stable/alpine/docker-entrypoint.sh b/stable/alpine/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/stable/alpine/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/stable/buster-perl/Dockerfile b/stable/buster-perl/Dockerfile index 2cc01e50679b8ee63ac9a09c2fb5dac1ed7b5f86..59bcfb0f12b5a6964d0306e180634f3077666d21 100644 --- a/stable/buster-perl/Dockerfile +++ b/stable/buster-perl/Dockerfile @@ -98,7 +98,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/stable/buster-perl/docker-entrypoint.sh b/stable/buster-perl/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/stable/buster-perl/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@" diff --git a/stable/buster/Dockerfile b/stable/buster/Dockerfile index cce6f7d053a9c681aa081403cac1cb57c67b44ce..3b90679517fa368a5a0ae78c17ff60a084dacb02 100644 --- a/stable/buster/Dockerfile +++ b/stable/buster/Dockerfile @@ -97,7 +97,12 @@ RUN set -x \ && ln -sf /dev/stderr /var/log/nginx/error.log \ # make default server listen on ipv6 && sed -i -E 's,listen 80;,listen 80;\n listen [::]:80;,' \ - /etc/nginx/conf.d/default.conf + /etc/nginx/conf.d/default.conf \ +# create a docker-entrypoint.d directory + && mkdir /docker-entrypoint.d + +COPY docker-entrypoint.sh / +ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 80 diff --git a/stable/buster/docker-entrypoint.sh b/stable/buster/docker-entrypoint.sh new file mode 100755 index 0000000000000000000000000000000000000000..3836402be729aeb8e59fe23fa1b268380b72f38a --- /dev/null +++ b/stable/buster/docker-entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env sh +# vim:sw=4:ts=4:et + +set -e + +if [ "$1" = "nginx" ]; then + if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -print -quit 2>/dev/null | /bin/grep -q .; then + echo "$0: /docker-entrypoint.d/ is not empty, will attempt to perform an initial configuration" + + echo "$0: Looking for shell scripts in /docker-entrypoint.d/" + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -executable | sort -n); do + echo "$0: Launching $f"; + "$f" + done + + # warn on shell scripts without exec bit + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -name "*.sh" -not -executable); do + echo "$0: Ignoring $f, not executable"; + done + # warn on filetypes we don't know what to do with + for f in $(/usr/bin/find /docker-entrypoint.d/ -type f -not -name "*.sh"); do + echo "$0: Ignoring $f"; + done + + echo "$0: Initial configuration complete; ready for start up" + else + echo "$0: /docker-entrypoint.d/ is empty, skipping initial configuration" + fi +fi + +exec "$@"