NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

[Dockerfiles] Rename some files and create hook points

b0711db4
andryyy <[email protected]> 7 years ago
data/Dockerfiles/acme/Dockerfile                        | 4 ++--
 data/Dockerfiles/acme/{docker-entrypoint.sh => acme.sh} | 0
 data/Dockerfiles/clamd/Dockerfile                       | 4 ++--
 data/Dockerfiles/clamd/{bootstrap.sh => clamd.sh}       | 0
 data/Dockerfiles/dockerapi/Dockerfile                   | 4 ++--
 data/Dockerfiles/dockerapi/{server.py => dockerapi.py}  | 0
 data/Dockerfiles/dovecot/docker-entrypoint.sh           | 8 ++++++++
 data/Dockerfiles/phpfpm/Dockerfile                      | 1 +
 data/Dockerfiles/phpfpm/docker-entrypoint.sh            | 8 ++++++++
 data/Dockerfiles/rspamd/docker-entrypoint.sh            | 8 ++++++++
 data/Dockerfiles/solr/Dockerfile                        | 8 ++++----
 data/Dockerfiles/solr/{docker-entrypoint.sh => solr.sh} | 0
 data/Dockerfiles/unbound/Dockerfile                     | 2 ++
 data/Dockerfiles/unbound/docker-entrypoint.sh           | 9 +++++++++
 data/Dockerfiles/watchdog/Dockerfile                    | 3 ---
 data/hooks/README.md                                    | 3 +++
 data/hooks/dovecot/test.sh                              | 4 ++++
 17 files changed, 53 insertions(+), 13 deletions(-)
 rename data/Dockerfiles/acme/{docker-entrypoint.sh => acme.sh} (100%)
 rename data/Dockerfiles/clamd/{bootstrap.sh => clamd.sh} (100%)
 rename data/Dockerfiles/dockerapi/{server.py => dockerapi.py} (100%)
 rename data/Dockerfiles/solr/{docker-entrypoint.sh => solr.sh} (100%)
 create mode 100644 data/hooks/README.md
 create mode 100755 data/hooks/dovecot/test.sh

Diff

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