diff --git a/data/Dockerfiles/acme/Dockerfile b/data/Dockerfiles/acme/Dockerfile index dd872dff..00710ce2 100644 --- a/data/Dockerfiles/acme/Dockerfile +++ b/data/Dockerfiles/acme/Dockerfile @@ -17,7 +17,7 @@ RUN apk upgrade --no-cache \ && python3 -m pip install --upgrade pip \ && python3 -m pip install acme-tiny -COPY docker-entrypoint.sh /srv/docker-entrypoint.sh +COPY acme.sh /srv/acme.sh COPY expand6.sh /srv/expand6.sh -CMD ["/sbin/tini", "-g", "--", "/srv/docker-entrypoint.sh"] +CMD ["/sbin/tini", "-g", "--", "/srv/acme.sh"] diff --git a/data/Dockerfiles/acme/docker-entrypoint.sh b/data/Dockerfiles/acme/acme.sh similarity index 100% rename from data/Dockerfiles/acme/docker-entrypoint.sh rename to data/Dockerfiles/acme/acme.sh diff --git a/data/Dockerfiles/clamd/Dockerfile b/data/Dockerfiles/clamd/Dockerfile index f61f7c21..48696139 100644 --- a/data/Dockerfiles/clamd/Dockerfile +++ b/data/Dockerfiles/clamd/Dockerfile @@ -55,7 +55,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && adduser --system --no-create-home --home /var/lib/clamav --uid 700 --gid 700 --disabled-login clamav \ && rm -rf /tmp/* /var/tmp/* -COPY bootstrap.sh ./ +COPY clamd.sh ./ COPY tini /sbin/tini -CMD ["/sbin/tini", "-g", "--", "/bootstrap.sh"] +CMD ["/sbin/tini", "-g", "--", "/clamd.sh"] diff --git a/data/Dockerfiles/clamd/bootstrap.sh b/data/Dockerfiles/clamd/clamd.sh similarity index 100% rename from data/Dockerfiles/clamd/bootstrap.sh rename to data/Dockerfiles/clamd/clamd.sh diff --git a/data/Dockerfiles/dockerapi/Dockerfile b/data/Dockerfiles/dockerapi/Dockerfile index 37a2db5a..9d7d7298 100644 --- a/data/Dockerfiles/dockerapi/Dockerfile +++ b/data/Dockerfiles/dockerapi/Dockerfile @@ -7,6 +7,6 @@ RUN apk add --update --no-cache python3 openssl tzdata \ && pip3 install --upgrade pip \ && pip3 install --upgrade docker flask flask-restful -COPY server.py /app/ +COPY dockerapi.py /app/ -CMD ["python3", "-u", "/app/server.py"] +CMD ["python3", "-u", "/app/dockerapi.py"] diff --git a/data/Dockerfiles/dockerapi/server.py b/data/Dockerfiles/dockerapi/dockerapi.py similarity index 100% rename from data/Dockerfiles/dockerapi/server.py rename to data/Dockerfiles/dockerapi/dockerapi.py diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh index f016b02a..1702bf5a 100755 --- a/data/Dockerfiles/dovecot/docker-entrypoint.sh +++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh @@ -260,4 +260,12 @@ fi # Collect SA rules once now /usr/local/bin/sa-rules.sh +# Run hooks +for file in /hooks/*; do + if [ -x "${file}" ]; then + echo "Running hook ${file}" + "${file}" + fi +done + exec "$@" diff --git a/data/Dockerfiles/phpfpm/Dockerfile b/data/Dockerfiles/phpfpm/Dockerfile index b4c60308..7293f6aa 100644 --- a/data/Dockerfiles/phpfpm/Dockerfile +++ b/data/Dockerfiles/phpfpm/Dockerfile @@ -85,4 +85,5 @@ RUN apk add -U --no-cache autoconf \ COPY ./docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] + CMD ["php-fpm"] diff --git a/data/Dockerfiles/phpfpm/docker-entrypoint.sh b/data/Dockerfiles/phpfpm/docker-entrypoint.sh index 5a27119c..3cf7f5d9 100755 --- a/data/Dockerfiles/phpfpm/docker-entrypoint.sh +++ b/data/Dockerfiles/phpfpm/docker-entrypoint.sh @@ -123,4 +123,12 @@ EOF fi fi +# Run hooks +for file in /hooks/*; do + if [ -x "${file}" ]; then + echo "Running hook ${file}" + "${file}" + fi +done + exec "$@" diff --git a/data/Dockerfiles/rspamd/docker-entrypoint.sh b/data/Dockerfiles/rspamd/docker-entrypoint.sh index cb7d0563..87531189 100755 --- a/data/Dockerfiles/rspamd/docker-entrypoint.sh +++ b/data/Dockerfiles/rspamd/docker-entrypoint.sh @@ -34,4 +34,12 @@ chown -R _rspamd:_rspamd /var/lib/rspamd \ /etc/rspamd/rspamd.conf.override \ /etc/rspamd/plugins.d +# Run hooks +for file in /hooks/*; do + if [ -x "${file}" ]; then + echo "Running hook ${file}" + "${file}" + fi +done + exec "$@" diff --git a/data/Dockerfiles/solr/Dockerfile b/data/Dockerfiles/solr/Dockerfile index d3ae98a8..6dfec41f 100644 --- a/data/Dockerfiles/solr/Dockerfile +++ b/data/Dockerfiles/solr/Dockerfile @@ -4,7 +4,7 @@ USER root ENV GOSU_VERSION 1.11 -COPY docker-entrypoint.sh / +COPY solr.sh / COPY solr-config-7.7.0.xml / COPY solr-schema-7.7.0.xml / @@ -18,8 +18,8 @@ RUN dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \ bash \ && apt-get autoclean \ && rm -rf /var/lib/apt/lists/* \ - && chmod +x /docker-entrypoint.sh \ + && chmod +x /solr.sh \ && sync \ - && bash /docker-entrypoint.sh --bootstrap + && bash /solr.sh --bootstrap -ENTRYPOINT ["/docker-entrypoint.sh"] +CMD ["/solr.sh"] diff --git a/data/Dockerfiles/solr/docker-entrypoint.sh b/data/Dockerfiles/solr/solr.sh similarity index 100% rename from data/Dockerfiles/solr/docker-entrypoint.sh rename to data/Dockerfiles/solr/solr.sh diff --git a/data/Dockerfiles/unbound/Dockerfile b/data/Dockerfiles/unbound/Dockerfile index 35c6fc0d..29559a19 100644 --- a/data/Dockerfiles/unbound/Dockerfile +++ b/data/Dockerfiles/unbound/Dockerfile @@ -19,3 +19,5 @@ EXPOSE 53/udp 53/tcp COPY docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] + +CMD ["/usr/sbin/unbound"] diff --git a/data/Dockerfiles/unbound/docker-entrypoint.sh b/data/Dockerfiles/unbound/docker-entrypoint.sh index d179eaca..bb9c1150 100755 --- a/data/Dockerfiles/unbound/docker-entrypoint.sh +++ b/data/Dockerfiles/unbound/docker-entrypoint.sh @@ -8,4 +8,13 @@ echo "Receiving anchor key..." echo "Receiving root hints..." curl -#o /etc/unbound/root.hints https://www.internic.net/domain/named.cache /usr/sbin/unbound-control-setup + +# Run hooks +for file in /hooks/*; do + if [ -x "${file}" ]; then + echo "Running hook ${file}" + "${file}" + fi +done + exec "$@" diff --git a/data/Dockerfiles/watchdog/Dockerfile b/data/Dockerfiles/watchdog/Dockerfile index a884944b..aa5a2e5f 100644 --- a/data/Dockerfiles/watchdog/Dockerfile +++ b/data/Dockerfiles/watchdog/Dockerfile @@ -34,7 +34,4 @@ RUN apk add --update \ COPY watchdog.sh /watchdog.sh -#ENTRYPOINT ["/sbin/tini", "-g", "--"] -# Less verbose - CMD /watchdog.sh 2> /dev/null diff --git a/data/hooks/README.md b/data/hooks/README.md new file mode 100644 index 00000000..d0996a18 --- /dev/null +++ b/data/hooks/README.md @@ -0,0 +1,3 @@ +Place executable scripts in each directory to run a hook at the end of a docker-entrypoint.sh script. + +Only images with a docker-entrypoint are covered. diff --git a/data/hooks/dovecot/test.sh b/data/hooks/dovecot/test.sh new file mode 100755 index 00000000..9a093834 --- /dev/null +++ b/data/hooks/dovecot/test.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +echo blabla +echo dasdasd