diff --git a/CHANGELOG.md b/CHANGELOG.md index 0204f9d53..030d46ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ This project adheres to [WebDevOps.io Dockerfile](https://github.com/webdevops/D ## [1.0.0] - upcoming + +## [0.50.1] - 2016-05-24 +### Changed +- Fixed required root rights for entrypoint, provisioning is now only running when entrypoint is entered with root +- Modularized service.d scripts (will include servide.d/$serv.d/*.sh before execution) + ## [0.50.0] - 2016-05-23 ### Changed - Improve image sizes (backported to 0.23.0 due to build issues) diff --git a/docker/apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/alpine-3/conf/bin/service.d/httpd.sh b/docker/apache/alpine-3/conf/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/docker/apache/alpine-3/conf/bin/service.d/httpd.sh +++ b/docker/apache/alpine-3/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/docker/apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/centos-7/conf/bin/service.d/httpd.sh b/docker/apache/centos-7/conf/bin/service.d/httpd.sh index f9d81f74a..ef5fe16ad 100644 --- a/docker/apache/centos-7/conf/bin/service.d/httpd.sh +++ b/docker/apache/centos-7/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec httpd -DFOREGROUND diff --git a/docker/apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/debian-7/conf/bin/service.d/httpd.sh b/docker/apache/debian-7/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/debian-7/conf/bin/service.d/httpd.sh +++ b/docker/apache/debian-7/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/debian-8/conf/bin/service.d/httpd.sh b/docker/apache/debian-8/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/debian-8/conf/bin/service.d/httpd.sh +++ b/docker/apache/debian-8/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/debian-9/conf/bin/service.d/httpd.sh b/docker/apache/debian-9/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/debian-9/conf/bin/service.d/httpd.sh +++ b/docker/apache/debian-9/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.sh b/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.sh +++ b/docker/apache/ubuntu-12.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.sh b/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.sh +++ b/docker/apache/ubuntu-14.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.sh b/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.sh +++ b/docker/apache/ubuntu-15.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.sh b/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.sh +++ b/docker/apache/ubuntu-15.10/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.sh b/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.sh +++ b/docker/apache/ubuntu-16.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/base/alpine-3/conf/bin/service.d/dnsmasq.sh b/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.d/10-init.sh similarity index 87% rename from docker/base/alpine-3/conf/bin/service.d/dnsmasq.sh rename to docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.d/10-init.sh index 055b46289..51aa805d8 100644 --- a/docker/base/alpine-3/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -1,5 +1,3 @@ -#!/usr/bin/env bash - ## clear dns file echo > /etc/dnsmasq.d/development @@ -12,5 +10,3 @@ if [ ! -f /etc/resolv.conf.original ]; then ## set dnsmasq to main nameserver echo "nameserver 127.0.0.1" > /etc/resolv.conf fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.sh b/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/alpine-3/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/alpine-3/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/alpine-3/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/alpine-3/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/alpine-3/conf/bin/service.d/postfix.sh b/docker/base-app/alpine-3/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/alpine-3/conf/bin/service.d/postfix.sh +++ b/docker/base-app/alpine-3/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/alpine-3/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/alpine-3/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/alpine-3/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/alpine-3/conf/bin/service.d/ssh.sh b/docker/base-app/alpine-3/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/alpine-3/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/alpine-3/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/alpine-3/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/alpine-3/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/alpine-3/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/alpine-3/conf/etc/supervisor.d/ssh.conf b/docker/base-app/alpine-3/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/alpine-3/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/alpine-3/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base/debian-7/conf/bin/service.d/dnsmasq.sh b/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.d/10-init.sh similarity index 87% rename from docker/base/debian-7/conf/bin/service.d/dnsmasq.sh rename to docker/base-app/centos-7/conf/bin/service.d/dnsmasq.d/10-init.sh index 055b46289..51aa805d8 100644 --- a/docker/base/debian-7/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -1,5 +1,3 @@ -#!/usr/bin/env bash - ## clear dns file echo > /etc/dnsmasq.d/development @@ -12,5 +10,3 @@ if [ ! -f /etc/resolv.conf.original ]; then ## set dnsmasq to main nameserver echo "nameserver 127.0.0.1" > /etc/resolv.conf fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.sh b/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/centos-7/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/centos-7/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/centos-7/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/centos-7/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/centos-7/conf/bin/service.d/postfix.sh b/docker/base-app/centos-7/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/centos-7/conf/bin/service.d/postfix.sh +++ b/docker/base-app/centos-7/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/centos-7/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/centos-7/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/centos-7/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/centos-7/conf/bin/service.d/ssh.sh b/docker/base-app/centos-7/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/centos-7/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/centos-7/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/centos-7/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/centos-7/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/centos-7/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/centos-7/conf/etc/supervisor.d/ssh.conf b/docker/base-app/centos-7/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/centos-7/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/centos-7/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base/debian-8/conf/bin/service.d/dnsmasq.sh b/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.d/10-init.sh similarity index 87% rename from docker/base/debian-8/conf/bin/service.d/dnsmasq.sh rename to docker/base-app/debian-7/conf/bin/service.d/dnsmasq.d/10-init.sh index 055b46289..51aa805d8 100644 --- a/docker/base/debian-8/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -1,5 +1,3 @@ -#!/usr/bin/env bash - ## clear dns file echo > /etc/dnsmasq.d/development @@ -12,5 +10,3 @@ if [ ! -f /etc/resolv.conf.original ]; then ## set dnsmasq to main nameserver echo "nameserver 127.0.0.1" > /etc/resolv.conf fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.sh b/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/debian-7/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/debian-7/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/debian-7/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/debian-7/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/debian-7/conf/bin/service.d/postfix.sh b/docker/base-app/debian-7/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/debian-7/conf/bin/service.d/postfix.sh +++ b/docker/base-app/debian-7/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/debian-7/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/debian-7/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/debian-7/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/debian-7/conf/bin/service.d/ssh.sh b/docker/base-app/debian-7/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/debian-7/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/debian-7/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/debian-7/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/debian-7/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/debian-7/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/debian-7/conf/etc/supervisor.d/ssh.conf b/docker/base-app/debian-7/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/debian-7/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/debian-7/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base/centos-7/conf/bin/service.d/dnsmasq.sh b/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.d/10-init.sh similarity index 87% rename from docker/base/centos-7/conf/bin/service.d/dnsmasq.sh rename to docker/base-app/debian-8/conf/bin/service.d/dnsmasq.d/10-init.sh index 055b46289..51aa805d8 100644 --- a/docker/base/centos-7/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -1,5 +1,3 @@ -#!/usr/bin/env bash - ## clear dns file echo > /etc/dnsmasq.d/development @@ -12,5 +10,3 @@ if [ ! -f /etc/resolv.conf.original ]; then ## set dnsmasq to main nameserver echo "nameserver 127.0.0.1" > /etc/resolv.conf fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.sh b/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/debian-8/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/debian-8/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/debian-8/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/debian-8/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/debian-8/conf/bin/service.d/postfix.sh b/docker/base-app/debian-8/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/debian-8/conf/bin/service.d/postfix.sh +++ b/docker/base-app/debian-8/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/debian-8/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/debian-8/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/debian-8/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/debian-8/conf/bin/service.d/ssh.sh b/docker/base-app/debian-8/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/debian-8/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/debian-8/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/debian-8/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/debian-8/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/debian-8/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/debian-8/conf/etc/supervisor.d/ssh.conf b/docker/base-app/debian-8/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/debian-8/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/debian-8/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.sh b/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/debian-9/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/debian-9/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/debian-9/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/debian-9/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/debian-9/conf/bin/service.d/postfix.sh b/docker/base-app/debian-9/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/debian-9/conf/bin/service.d/postfix.sh +++ b/docker/base-app/debian-9/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/debian-9/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/debian-9/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/debian-9/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/debian-9/conf/bin/service.d/ssh.sh b/docker/base-app/debian-9/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/debian-9/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/debian-9/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/debian-9/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/debian-9/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/debian-9/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/debian-9/conf/etc/supervisor.d/ssh.conf b/docker/base-app/debian-9/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/debian-9/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/debian-9/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.sh +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.sh b/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/ubuntu-12.04/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf b/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.sh +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.sh b/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/ubuntu-14.04/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf b/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.sh +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.sh b/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/ubuntu-15.04/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf b/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.sh +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.sh b/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/ubuntu-15.10/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf b/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.d/10-init.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.sh +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.d/10-init.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.sh b/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/base-app/ubuntu-16.04/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/dnsmasq.conf b/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf b/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf +++ b/docker/base-app/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/base/alpine-3/conf/bin/bootstrap.sh b/docker/base/alpine-3/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/alpine-3/conf/bin/bootstrap.sh +++ b/docker/base/alpine-3/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/alpine-3/conf/bin/config.sh b/docker/base/alpine-3/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/alpine-3/conf/bin/config.sh +++ b/docker/base/alpine-3/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/alpine-3/conf/bin/control.sh b/docker/base/alpine-3/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/alpine-3/conf/bin/control.sh +++ b/docker/base/alpine-3/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/alpine-3/conf/bin/entrypoint.d/supervisord.sh b/docker/base/alpine-3/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/alpine-3/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/alpine-3/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/alpine-3/conf/bin/entrypoint.sh b/docker/base/alpine-3/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/alpine-3/conf/bin/entrypoint.sh +++ b/docker/base/alpine-3/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/alpine-3/conf/bin/service.d/cron.d/10-init.sh b/docker/base/alpine-3/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/alpine-3/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/alpine-3/conf/bin/service.d/cron.sh b/docker/base/alpine-3/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..e5d968dae --- /dev/null +++ b/docker/base/alpine-3/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/crond -f diff --git a/docker/base/alpine-3/conf/bin/service.d/postfix.sh b/docker/base/alpine-3/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/alpine-3/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/alpine-3/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/alpine-3/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/alpine-3/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/alpine-3/conf/bin/service.d/supervisor.sh b/docker/base/alpine-3/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/alpine-3/conf/bin/service.d/supervisor.sh +++ b/docker/base/alpine-3/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/alpine-3/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/alpine-3/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/alpine-3/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/alpine-3/conf/bin/service.d/syslog-ng.sh b/docker/base/alpine-3/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/alpine-3/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/alpine-3/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/alpine-3/conf/etc/supervisor.d/cron.conf b/docker/base/alpine-3/conf/etc/supervisor.d/cron.conf index fc95b8d0a..ef0a71678 100644 --- a/docker/base/alpine-3/conf/etc/supervisor.d/cron.conf +++ b/docker/base/alpine-3/conf/etc/supervisor.d/cron.conf @@ -1,9 +1,9 @@ [group:cron] programs=crond -priority=30 +priority=25 [program:crond] -command = /usr/sbin/crond -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/alpine-3/conf/etc/supervisor.d/ssh.conf b/docker/base/alpine-3/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/alpine-3/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/alpine-3/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/alpine-3/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/alpine-3/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/alpine-3/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/centos-7/conf/bin/bootstrap.sh b/docker/base/centos-7/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/centos-7/conf/bin/bootstrap.sh +++ b/docker/base/centos-7/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/centos-7/conf/bin/config.sh b/docker/base/centos-7/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/centos-7/conf/bin/config.sh +++ b/docker/base/centos-7/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/centos-7/conf/bin/control.sh b/docker/base/centos-7/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/centos-7/conf/bin/control.sh +++ b/docker/base/centos-7/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/centos-7/conf/bin/entrypoint.d/supervisord.sh b/docker/base/centos-7/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/centos-7/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/centos-7/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/centos-7/conf/bin/entrypoint.sh b/docker/base/centos-7/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/centos-7/conf/bin/entrypoint.sh +++ b/docker/base/centos-7/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/centos-7/conf/bin/service.d/cron.d/10-init.sh b/docker/base/centos-7/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/centos-7/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/centos-7/conf/bin/service.d/cron.sh b/docker/base/centos-7/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..bcbcadf0f --- /dev/null +++ b/docker/base/centos-7/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /sbin/crond -n diff --git a/docker/base/centos-7/conf/bin/service.d/postfix.sh b/docker/base/centos-7/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/centos-7/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/centos-7/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/centos-7/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/centos-7/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/centos-7/conf/bin/service.d/supervisor.sh b/docker/base/centos-7/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/centos-7/conf/bin/service.d/supervisor.sh +++ b/docker/base/centos-7/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/centos-7/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/centos-7/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/centos-7/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/centos-7/conf/bin/service.d/syslog-ng.sh b/docker/base/centos-7/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/centos-7/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/centos-7/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/centos-7/conf/etc/supervisor.d/cron.conf b/docker/base/centos-7/conf/etc/supervisor.d/cron.conf index 0c7875ccc..ef0a71678 100644 --- a/docker/base/centos-7/conf/etc/supervisor.d/cron.conf +++ b/docker/base/centos-7/conf/etc/supervisor.d/cron.conf @@ -1,9 +1,9 @@ [group:cron] programs=crond -priority=30 +priority=25 [program:crond] -command = /sbin/crond -n +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/centos-7/conf/etc/supervisor.d/ssh.conf b/docker/base/centos-7/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/centos-7/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/centos-7/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/centos-7/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/centos-7/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/centos-7/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/debian-7/conf/bin/bootstrap.sh b/docker/base/debian-7/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/debian-7/conf/bin/bootstrap.sh +++ b/docker/base/debian-7/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/debian-7/conf/bin/config.sh b/docker/base/debian-7/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/debian-7/conf/bin/config.sh +++ b/docker/base/debian-7/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/debian-7/conf/bin/control.sh b/docker/base/debian-7/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/debian-7/conf/bin/control.sh +++ b/docker/base/debian-7/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/debian-7/conf/bin/entrypoint.d/supervisord.sh b/docker/base/debian-7/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/debian-7/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/debian-7/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/debian-7/conf/bin/entrypoint.sh b/docker/base/debian-7/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/debian-7/conf/bin/entrypoint.sh +++ b/docker/base/debian-7/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/debian-7/conf/bin/service.d/cron.d/10-init.sh b/docker/base/debian-7/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-7/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-7/conf/bin/service.d/cron.sh b/docker/base/debian-7/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/debian-7/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/debian-7/conf/bin/service.d/postfix.sh b/docker/base/debian-7/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/debian-7/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/debian-7/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/debian-7/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-7/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-7/conf/bin/service.d/supervisor.sh b/docker/base/debian-7/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/debian-7/conf/bin/service.d/supervisor.sh +++ b/docker/base/debian-7/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/debian-7/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/debian-7/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/debian-7/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/debian-7/conf/bin/service.d/syslog-ng.sh b/docker/base/debian-7/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/debian-7/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/debian-7/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/debian-7/conf/etc/supervisor.d/cron.conf b/docker/base/debian-7/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/debian-7/conf/etc/supervisor.d/cron.conf +++ b/docker/base/debian-7/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/debian-7/conf/etc/supervisor.d/ssh.conf b/docker/base/debian-7/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/debian-7/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/debian-7/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/debian-7/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/debian-7/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/debian-7/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/debian-8/conf/bin/bootstrap.sh b/docker/base/debian-8/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/debian-8/conf/bin/bootstrap.sh +++ b/docker/base/debian-8/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/debian-8/conf/bin/config.sh b/docker/base/debian-8/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/debian-8/conf/bin/config.sh +++ b/docker/base/debian-8/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/debian-8/conf/bin/control.sh b/docker/base/debian-8/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/debian-8/conf/bin/control.sh +++ b/docker/base/debian-8/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/debian-8/conf/bin/entrypoint.d/supervisord.sh b/docker/base/debian-8/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/debian-8/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/debian-8/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/debian-8/conf/bin/entrypoint.sh b/docker/base/debian-8/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/debian-8/conf/bin/entrypoint.sh +++ b/docker/base/debian-8/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/debian-8/conf/bin/service.d/cron.d/10-init.sh b/docker/base/debian-8/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-8/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-8/conf/bin/service.d/cron.sh b/docker/base/debian-8/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/debian-8/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/debian-8/conf/bin/service.d/postfix.sh b/docker/base/debian-8/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/debian-8/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/debian-8/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/debian-8/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-8/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-8/conf/bin/service.d/supervisor.sh b/docker/base/debian-8/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/debian-8/conf/bin/service.d/supervisor.sh +++ b/docker/base/debian-8/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/debian-8/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/debian-8/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/debian-8/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/debian-8/conf/bin/service.d/syslog-ng.sh b/docker/base/debian-8/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/debian-8/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/debian-8/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/debian-8/conf/etc/supervisor.d/cron.conf b/docker/base/debian-8/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/debian-8/conf/etc/supervisor.d/cron.conf +++ b/docker/base/debian-8/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/debian-8/conf/etc/supervisor.d/ssh.conf b/docker/base/debian-8/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/debian-8/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/debian-8/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/debian-8/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/debian-8/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/debian-8/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/debian-9/conf/bin/bootstrap.sh b/docker/base/debian-9/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/debian-9/conf/bin/bootstrap.sh +++ b/docker/base/debian-9/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/debian-9/conf/bin/config.sh b/docker/base/debian-9/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/debian-9/conf/bin/config.sh +++ b/docker/base/debian-9/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/debian-9/conf/bin/control.sh b/docker/base/debian-9/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/debian-9/conf/bin/control.sh +++ b/docker/base/debian-9/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/debian-9/conf/bin/entrypoint.d/supervisord.sh b/docker/base/debian-9/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/debian-9/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/debian-9/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/debian-9/conf/bin/entrypoint.sh b/docker/base/debian-9/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/debian-9/conf/bin/entrypoint.sh +++ b/docker/base/debian-9/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/debian-9/conf/bin/service.d/cron.d/10-init.sh b/docker/base/debian-9/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-9/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-9/conf/bin/service.d/cron.sh b/docker/base/debian-9/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/debian-9/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/debian-9/conf/bin/service.d/dnsmasq.sh b/docker/base/debian-9/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/debian-9/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/debian-9/conf/bin/service.d/postfix.sh b/docker/base/debian-9/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/debian-9/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/debian-9/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/debian-9/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/debian-9/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/debian-9/conf/bin/service.d/supervisor.sh b/docker/base/debian-9/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/debian-9/conf/bin/service.d/supervisor.sh +++ b/docker/base/debian-9/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/debian-9/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/debian-9/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/debian-9/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/debian-9/conf/bin/service.d/syslog-ng.sh b/docker/base/debian-9/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/debian-9/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/debian-9/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/debian-9/conf/etc/supervisor.d/cron.conf b/docker/base/debian-9/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/debian-9/conf/etc/supervisor.d/cron.conf +++ b/docker/base/debian-9/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/debian-9/conf/etc/supervisor.d/ssh.conf b/docker/base/debian-9/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/debian-9/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/debian-9/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/debian-9/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/debian-9/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/debian-9/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/ubuntu-12.04/conf/bin/bootstrap.sh b/docker/base/ubuntu-12.04/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/ubuntu-12.04/conf/bin/bootstrap.sh +++ b/docker/base/ubuntu-12.04/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/ubuntu-12.04/conf/bin/config.sh b/docker/base/ubuntu-12.04/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/ubuntu-12.04/conf/bin/config.sh +++ b/docker/base/ubuntu-12.04/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/ubuntu-12.04/conf/bin/control.sh b/docker/base/ubuntu-12.04/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/ubuntu-12.04/conf/bin/control.sh +++ b/docker/base/ubuntu-12.04/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/ubuntu-12.04/conf/bin/entrypoint.d/supervisord.sh b/docker/base/ubuntu-12.04/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/ubuntu-12.04/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/ubuntu-12.04/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/cron.d/10-init.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/cron.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/ubuntu-12.04/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/postfix.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/ubuntu-12.04/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.sh +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.sh b/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/ubuntu-12.04/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/cron.conf b/docker/base/ubuntu-12.04/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/cron.conf +++ b/docker/base/ubuntu-12.04/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf b/docker/base/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/ubuntu-12.04/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/ubuntu-12.04/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/ubuntu-12.04/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/ubuntu-14.04/conf/bin/bootstrap.sh b/docker/base/ubuntu-14.04/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/ubuntu-14.04/conf/bin/bootstrap.sh +++ b/docker/base/ubuntu-14.04/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/ubuntu-14.04/conf/bin/config.sh b/docker/base/ubuntu-14.04/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/ubuntu-14.04/conf/bin/config.sh +++ b/docker/base/ubuntu-14.04/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/ubuntu-14.04/conf/bin/control.sh b/docker/base/ubuntu-14.04/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/ubuntu-14.04/conf/bin/control.sh +++ b/docker/base/ubuntu-14.04/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/ubuntu-14.04/conf/bin/entrypoint.d/supervisord.sh b/docker/base/ubuntu-14.04/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/ubuntu-14.04/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/ubuntu-14.04/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/cron.d/10-init.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/cron.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/ubuntu-14.04/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/postfix.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/ubuntu-14.04/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.sh +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.sh b/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/ubuntu-14.04/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/cron.conf b/docker/base/ubuntu-14.04/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/cron.conf +++ b/docker/base/ubuntu-14.04/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf b/docker/base/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/ubuntu-14.04/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/ubuntu-14.04/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/ubuntu-14.04/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/ubuntu-15.04/conf/bin/bootstrap.sh b/docker/base/ubuntu-15.04/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/ubuntu-15.04/conf/bin/bootstrap.sh +++ b/docker/base/ubuntu-15.04/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/ubuntu-15.04/conf/bin/config.sh b/docker/base/ubuntu-15.04/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/ubuntu-15.04/conf/bin/config.sh +++ b/docker/base/ubuntu-15.04/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/ubuntu-15.04/conf/bin/control.sh b/docker/base/ubuntu-15.04/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/ubuntu-15.04/conf/bin/control.sh +++ b/docker/base/ubuntu-15.04/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/ubuntu-15.04/conf/bin/entrypoint.d/supervisord.sh b/docker/base/ubuntu-15.04/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/ubuntu-15.04/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/ubuntu-15.04/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/cron.d/10-init.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/cron.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/ubuntu-15.04/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/postfix.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/ubuntu-15.04/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.sh +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.sh b/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/ubuntu-15.04/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/cron.conf b/docker/base/ubuntu-15.04/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/cron.conf +++ b/docker/base/ubuntu-15.04/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf b/docker/base/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/ubuntu-15.04/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/ubuntu-15.04/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/ubuntu-15.04/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/ubuntu-15.10/conf/bin/bootstrap.sh b/docker/base/ubuntu-15.10/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/ubuntu-15.10/conf/bin/bootstrap.sh +++ b/docker/base/ubuntu-15.10/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/ubuntu-15.10/conf/bin/config.sh b/docker/base/ubuntu-15.10/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/ubuntu-15.10/conf/bin/config.sh +++ b/docker/base/ubuntu-15.10/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/ubuntu-15.10/conf/bin/control.sh b/docker/base/ubuntu-15.10/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/ubuntu-15.10/conf/bin/control.sh +++ b/docker/base/ubuntu-15.10/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/ubuntu-15.10/conf/bin/entrypoint.d/supervisord.sh b/docker/base/ubuntu-15.10/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/ubuntu-15.10/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/ubuntu-15.10/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh b/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/cron.d/10-init.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/cron.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/ubuntu-15.10/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/postfix.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/ubuntu-15.10/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.sh +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.sh b/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/ubuntu-15.10/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/cron.conf b/docker/base/ubuntu-15.10/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/cron.conf +++ b/docker/base/ubuntu-15.10/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf b/docker/base/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/ubuntu-15.10/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/ubuntu-15.10/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/ubuntu-15.10/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/base/ubuntu-16.04/conf/bin/bootstrap.sh b/docker/base/ubuntu-16.04/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/base/ubuntu-16.04/conf/bin/bootstrap.sh +++ b/docker/base/ubuntu-16.04/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/base/ubuntu-16.04/conf/bin/config.sh b/docker/base/ubuntu-16.04/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/base/ubuntu-16.04/conf/bin/config.sh +++ b/docker/base/ubuntu-16.04/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/base/ubuntu-16.04/conf/bin/control.sh b/docker/base/ubuntu-16.04/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/base/ubuntu-16.04/conf/bin/control.sh +++ b/docker/base/ubuntu-16.04/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/base/ubuntu-16.04/conf/bin/entrypoint.d/supervisord.sh b/docker/base/ubuntu-16.04/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/base/ubuntu-16.04/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/base/ubuntu-16.04/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/cron.d/10-init.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/cron.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/docker/base/ubuntu-16.04/conf/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/postfix.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/docker/base/ubuntu-16.04/conf/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.d/10-init.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.sh +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.sh b/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.sh +++ b/docker/base/ubuntu-16.04/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/cron.conf b/docker/base/ubuntu-16.04/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/cron.conf +++ b/docker/base/ubuntu-16.04/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf b/docker/base/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/syslog-ng.conf b/docker/base/ubuntu-16.04/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/base/ubuntu-16.04/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/base/ubuntu-16.04/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh b/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh +++ b/docker/hhvm-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh b/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh +++ b/docker/hhvm-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh b/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh +++ b/docker/hhvm-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh b/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh +++ b/docker/hhvm-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.d/10-init.sh b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh new file mode 100644 index 000000000..ff0a26578 --- /dev/null +++ b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 diff --git a/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf b/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf index 099a709ef..7a4fc0e29 100644 --- a/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf +++ b/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf @@ -3,7 +3,7 @@ programs=hhvmd priority=20 [program:hhvmd] -command = /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ user = application diff --git a/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.d/10-init.sh b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh new file mode 100644 index 000000000..ff0a26578 --- /dev/null +++ b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 diff --git a/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf b/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf index 099a709ef..7a4fc0e29 100644 --- a/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf +++ b/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf @@ -3,7 +3,7 @@ programs=hhvmd priority=20 [program:hhvmd] -command = /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ user = application diff --git a/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.d/10-init.sh b/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.sh b/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.sh new file mode 100644 index 000000000..6147f5f64 --- /dev/null +++ b/docker/mail-sandbox/ubuntu-14.04/conf/bin/service.d/dovecot.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/dovecot.d/" + +exec /usr/sbin/dovecot -F diff --git a/docker/mail-sandbox/ubuntu-14.04/conf/etc/supervisor.d/dovecot.conf b/docker/mail-sandbox/ubuntu-14.04/conf/etc/supervisor.d/dovecot.conf index fea0756ab..26ae256b1 100644 --- a/docker/mail-sandbox/ubuntu-14.04/conf/etc/supervisor.d/dovecot.conf +++ b/docker/mail-sandbox/ubuntu-14.04/conf/etc/supervisor.d/dovecot.conf @@ -3,7 +3,7 @@ programs=dovecotd priority=20 [program:dovecotd] -command = /usr/sbin/dovecot -F +command = /opt/docker/bin/service.d/dovecot.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/alpine-3/conf/bin/service.d/nginx.sh b/docker/nginx/alpine-3/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/alpine-3/conf/bin/service.d/nginx.sh +++ b/docker/nginx/alpine-3/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/centos-7/conf/bin/service.d/nginx.sh b/docker/nginx/centos-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/centos-7/conf/bin/service.d/nginx.sh +++ b/docker/nginx/centos-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/debian-7/conf/bin/service.d/nginx.sh b/docker/nginx/debian-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/debian-7/conf/bin/service.d/nginx.sh +++ b/docker/nginx/debian-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/debian-8/conf/bin/service.d/nginx.sh b/docker/nginx/debian-8/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/debian-8/conf/bin/service.d/nginx.sh +++ b/docker/nginx/debian-8/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/debian-9/conf/bin/service.d/nginx.sh b/docker/nginx/debian-9/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/debian-9/conf/bin/service.d/nginx.sh +++ b/docker/nginx/debian-9/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh b/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh +++ b/docker/nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh b/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh +++ b/docker/nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh b/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh +++ b/docker/nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh b/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh +++ b/docker/nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh b/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh +++ b/docker/nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/alpine-3-php7/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/alpine-3/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.sh index f9d81f74a..ef5fe16ad 100644 --- a/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/centos-7/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec httpd -DFOREGROUND diff --git a/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/debian-7/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/debian-8-php7/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/debian-8/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/debian-9/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/ubuntu-12.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/ubuntu-14.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/ubuntu-15.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/ubuntu-15.10/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.sh b/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache-dev/ubuntu-16.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.sh b/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/alpine-3-php7/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/docker/php-apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/alpine-3/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/alpine-3/conf/bin/service.d/httpd.sh b/docker/php-apache/alpine-3/conf/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/docker/php-apache/alpine-3/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/alpine-3/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/docker/php-apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/centos-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/centos-7/conf/bin/service.d/httpd.sh b/docker/php-apache/centos-7/conf/bin/service.d/httpd.sh index f9d81f74a..ef5fe16ad 100644 --- a/docker/php-apache/centos-7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/centos-7/conf/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec httpd -DFOREGROUND diff --git a/docker/php-apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/debian-7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/debian-7/conf/bin/service.d/httpd.sh b/docker/php-apache/debian-7/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/debian-7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/debian-7/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.sh b/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/debian-8-php7/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/debian-8/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/debian-8/conf/bin/service.d/httpd.sh b/docker/php-apache/debian-8/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/debian-8/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/debian-8/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/debian-9/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/debian-9/conf/bin/service.d/httpd.sh b/docker/php-apache/debian-9/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/debian-9/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/debian-9/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.sh b/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/ubuntu-12.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh b/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/ubuntu-14.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.sh b/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/ubuntu-15.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.sh b/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/ubuntu-15.10/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh b/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh b/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh +++ b/docker/php-apache/ubuntu-16.04/conf/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/alpine-3-php7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/alpine-3/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/centos-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/debian-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/debian-8-php7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/debian-8/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/debian-9/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/ubuntu-12.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/ubuntu-14.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/ubuntu-15.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/ubuntu-15.10/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.sh b/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx-dev/ubuntu-16.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.sh b/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/alpine-3-php7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.sh b/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/alpine-3/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/centos-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/centos-7/conf/bin/service.d/nginx.sh b/docker/php-nginx/centos-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/centos-7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/centos-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/debian-7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/debian-7/conf/bin/service.d/nginx.sh b/docker/php-nginx/debian-7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/debian-7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/debian-7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.sh b/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/debian-8-php7/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/debian-8/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/debian-8/conf/bin/service.d/nginx.sh b/docker/php-nginx/debian-8/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/debian-8/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/debian-8/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/debian-9/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/debian-9/conf/bin/service.d/nginx.sh b/docker/php-nginx/debian-9/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/debian-9/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/debian-9/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh b/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/ubuntu-12.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh b/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/ubuntu-14.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh b/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/ubuntu-15.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh b/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/ubuntu-15.10/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh b/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh b/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh +++ b/docker/php-nginx/ubuntu-16.04/conf/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.sh b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/alpine-3-php7/conf/etc/supervisor.d/php-fpm.conf b/docker/php/alpine-3-php7/conf/etc/supervisor.d/php-fpm.conf index ede66c0f5..5504e92a1 100644 --- a/docker/php/alpine-3-php7/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/alpine-3-php7/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/alpine-3/conf/bin/service.d/php-fpm.sh b/docker/php/alpine-3/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/alpine-3/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/alpine-3/conf/etc/supervisor.d/php-fpm.conf b/docker/php/alpine-3/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/alpine-3/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/alpine-3/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/centos-7/conf/bin/service.d/php-fpm.sh b/docker/php/centos-7/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/centos-7/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/centos-7/conf/etc/supervisor.d/php-fpm.conf b/docker/php/centos-7/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/centos-7/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/centos-7/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/debian-7/conf/bin/service.d/php-fpm.sh b/docker/php/debian-7/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/debian-7/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/debian-7/conf/etc/supervisor.d/php-fpm.conf b/docker/php/debian-7/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/debian-7/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/debian-7/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.sh b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/debian-8-php7/conf/etc/supervisor.d/php-fpm.conf b/docker/php/debian-8-php7/conf/etc/supervisor.d/php-fpm.conf index ede66c0f5..5504e92a1 100644 --- a/docker/php/debian-8-php7/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/debian-8-php7/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/debian-8/conf/bin/service.d/php-fpm.sh b/docker/php/debian-8/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/debian-8/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/debian-8/conf/etc/supervisor.d/php-fpm.conf b/docker/php/debian-8/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/debian-8/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/debian-8/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/debian-9/conf/bin/service.d/php-fpm.sh b/docker/php/debian-9/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/debian-9/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/debian-9/conf/etc/supervisor.d/php-fpm.conf b/docker/php/debian-9/conf/etc/supervisor.d/php-fpm.conf index ede66c0f5..5504e92a1 100644 --- a/docker/php/debian-9/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/debian-9/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.sh b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..83cf8a5f3 --- /dev/null +++ b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php5-fpm diff --git a/docker/php/ubuntu-12.04/conf/etc/supervisor.d/php-fpm.conf b/docker/php/ubuntu-12.04/conf/etc/supervisor.d/php-fpm.conf index 834d308a9..f40531bbc 100644 --- a/docker/php/ubuntu-12.04/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/ubuntu-12.04/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php5-fpm +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.sh b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/ubuntu-14.04/conf/etc/supervisor.d/php-fpm.conf b/docker/php/ubuntu-14.04/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/ubuntu-14.04/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/ubuntu-14.04/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.sh b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/ubuntu-15.04/conf/etc/supervisor.d/php-fpm.conf b/docker/php/ubuntu-15.04/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/ubuntu-15.04/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/ubuntu-15.04/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.sh b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/ubuntu-15.10/conf/etc/supervisor.d/php-fpm.conf b/docker/php/ubuntu-15.10/conf/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/docker/php/ubuntu-15.10/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/ubuntu-15.10/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.sh b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/docker/php/ubuntu-16.04/conf/etc/supervisor.d/php-fpm.conf b/docker/php/ubuntu-16.04/conf/etc/supervisor.d/php-fpm.conf index ede66c0f5..5504e92a1 100644 --- a/docker/php/ubuntu-16.04/conf/etc/supervisor.d/php-fpm.conf +++ b/docker/php/ubuntu-16.04/conf/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/docker/samson-deployment/latest/conf/bin/bootstrap.sh b/docker/samson-deployment/latest/conf/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/docker/samson-deployment/latest/conf/bin/bootstrap.sh +++ b/docker/samson-deployment/latest/conf/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/docker/samson-deployment/latest/conf/bin/config.sh b/docker/samson-deployment/latest/conf/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/docker/samson-deployment/latest/conf/bin/config.sh +++ b/docker/samson-deployment/latest/conf/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/docker/samson-deployment/latest/conf/bin/control.sh b/docker/samson-deployment/latest/conf/bin/control.sh index 1240ff533..96330b503 100644 --- a/docker/samson-deployment/latest/conf/bin/control.sh +++ b/docker/samson-deployment/latest/conf/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/docker/samson-deployment/latest/conf/bin/entrypoint.d/supervisord.sh b/docker/samson-deployment/latest/conf/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/docker/samson-deployment/latest/conf/bin/entrypoint.d/supervisord.sh +++ b/docker/samson-deployment/latest/conf/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/docker/samson-deployment/latest/conf/bin/entrypoint.sh b/docker/samson-deployment/latest/conf/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/docker/samson-deployment/latest/conf/bin/entrypoint.sh +++ b/docker/samson-deployment/latest/conf/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/docker/samson-deployment/latest/conf/bin/service.d/cron.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/samson-deployment/latest/conf/bin/service.d/cron.sh b/docker/samson-deployment/latest/conf/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.sh b/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.sh +++ b/docker/samson-deployment/latest/conf/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/docker/samson-deployment/latest/conf/bin/service.d/postfix.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/docker/samson-deployment/latest/conf/bin/service.d/postfix.sh b/docker/samson-deployment/latest/conf/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/docker/samson-deployment/latest/conf/bin/service.d/postfix.sh +++ b/docker/samson-deployment/latest/conf/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/docker/samson-deployment/latest/conf/bin/service.d/samson.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/samson.d/10-init.sh new file mode 100644 index 000000000..24a053a6d --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/samson.d/10-init.sh @@ -0,0 +1,7 @@ +############################# +# Vacuum database +############################# + +if [[ -x "/opt/docker/bin/samson-cleanup-db.sh" ]]; then + /opt/docker/bin/samson-cleanup-db.sh +fi diff --git a/docker/samson-deployment/latest/conf/bin/service.d/samson.sh b/docker/samson-deployment/latest/conf/bin/service.d/samson.sh index a17480c86..ef42ef789 100644 --- a/docker/samson-deployment/latest/conf/bin/service.d/samson.sh +++ b/docker/samson-deployment/latest/conf/bin/service.d/samson.sh @@ -1,17 +1,13 @@ -#!/bin/bash +#!/usr/bin/env bash set -o pipefail ## trace ERR through pipes set -o errtrace ## trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value -############################# -# Vacuum database -############################# +source /opt/docker/bin/config.sh -if [[ -x "/opt/docker/bin/samson-cleanup-db.sh" ]]; then - /opt/docker/bin/samson-cleanup-db.sh -fi +includeScriptDir "/opt/docker/bin/service.d/samson.d/" sleep 1 @@ -19,3 +15,5 @@ echo "(Re-)Starting Samson" cd /app/ bin/rake db:migrate exec bundle exec puma -C ./config/puma.rb -e "$RAILS_ENV" + + diff --git a/docker/samson-deployment/latest/conf/bin/service.d/ssh.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/samson-deployment/latest/conf/bin/service.d/ssh.sh b/docker/samson-deployment/latest/conf/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/docker/samson-deployment/latest/conf/bin/service.d/supervisor.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/samson-deployment/latest/conf/bin/service.d/supervisor.sh b/docker/samson-deployment/latest/conf/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/docker/samson-deployment/latest/conf/bin/service.d/supervisor.sh +++ b/docker/samson-deployment/latest/conf/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.d/10-init.sh b/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.sh b/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.sh +++ b/docker/samson-deployment/latest/conf/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/docker/samson-deployment/latest/conf/etc/supervisor.d/cron.conf b/docker/samson-deployment/latest/conf/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/docker/samson-deployment/latest/conf/etc/supervisor.d/cron.conf +++ b/docker/samson-deployment/latest/conf/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/samson-deployment/latest/conf/etc/supervisor.d/dnsmasq.conf b/docker/samson-deployment/latest/conf/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/docker/samson-deployment/latest/conf/etc/supervisor.d/dnsmasq.conf +++ b/docker/samson-deployment/latest/conf/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/docker/samson-deployment/latest/conf/etc/supervisor.d/docker.conf b/docker/samson-deployment/latest/conf/etc/supervisor.d/docker.conf new file mode 100644 index 000000000..519d04e46 --- /dev/null +++ b/docker/samson-deployment/latest/conf/etc/supervisor.d/docker.conf @@ -0,0 +1,12 @@ +[group:docker] +programs=dockerd +priority=25 + +[program:dockerd] +command = /usr/bin/docker daemon +autostart = false +autorestart = false +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/samson-deployment/latest/conf/etc/supervisor.d/ssh.conf b/docker/samson-deployment/latest/conf/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/docker/samson-deployment/latest/conf/etc/supervisor.d/ssh.conf +++ b/docker/samson-deployment/latest/conf/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/docker/samson-deployment/latest/conf/etc/supervisor.d/syslog-ng.conf b/docker/samson-deployment/latest/conf/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/docker/samson-deployment/latest/conf/etc/supervisor.d/syslog-ng.conf +++ b/docker/samson-deployment/latest/conf/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/docker/samson-deployment/latest/conf/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml b/docker/samson-deployment/latest/conf/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml index eb796885c..ced92e8ce 100644 --- a/docker/samson-deployment/latest/conf/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml +++ b/docker/samson-deployment/latest/conf/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml @@ -1,4 +1,11 @@ --- +- name: Add application to docker group + user: + name: "{{ APPLICATION_USER }}" + group: "{{ APPLICATION_GROUP }}" + groups: "docker" + append: yes + - name: Fix permissions file: path: "/app" diff --git a/docker/vsftp/latest/conf/bin/service.d/vsftp.d/10-init.sh b/docker/vsftp/latest/conf/bin/service.d/vsftp.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/docker/vsftp/latest/conf/bin/service.d/vsftp.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/docker/vsftp/latest/conf/bin/service.d/vsftp.sh b/docker/vsftp/latest/conf/bin/service.d/vsftp.sh new file mode 100644 index 000000000..1c33d1dd0 --- /dev/null +++ b/docker/vsftp/latest/conf/bin/service.d/vsftp.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/vsftp.d/" + +exec vsftpd diff --git a/docker/vsftp/latest/conf/etc/supervisor.d/vsftp.conf b/docker/vsftp/latest/conf/etc/supervisor.d/vsftp.conf index 884e879f3..114305302 100644 --- a/docker/vsftp/latest/conf/etc/supervisor.d/vsftp.conf +++ b/docker/vsftp/latest/conf/etc/supervisor.d/vsftp.conf @@ -3,7 +3,7 @@ programs=vsftpd,vsftp-log priority=20 [program:vsftpd] -command = vsftpd +command = /opt/docker/bin/service.d/vsftp.sh autostart = true autorestart = true stdout_logfile=/dev/stdout diff --git a/provisioning/apache/alpine/bin/service.d/httpd.sh b/provisioning/apache/alpine/bin/service.d/httpd.sh index af10b8d91..066addf47 100644 --- a/provisioning/apache/alpine/bin/service.d/httpd.sh +++ b/provisioning/apache/alpine/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec /usr/sbin/apachectl -DFOREGROUND diff --git a/provisioning/apache/centos/bin/service.d/httpd.sh b/provisioning/apache/centos/bin/service.d/httpd.sh index f9d81f74a..ef5fe16ad 100644 --- a/provisioning/apache/centos/bin/service.d/httpd.sh +++ b/provisioning/apache/centos/bin/service.d/httpd.sh @@ -1,19 +1,10 @@ #!/usr/bin/env bash set -e +source /opt/docker/bin/config.sh -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/httpd/httpd.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - exec httpd -DFOREGROUND diff --git a/provisioning/apache/general/bin/service.d/httpd.d/10-init.sh b/provisioning/apache/general/bin/service.d/httpd.d/10-init.sh new file mode 100644 index 000000000..f45702d5e --- /dev/null +++ b/provisioning/apache/general/bin/service.d/httpd.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/provisioning/apache/general/bin/service.d/httpd.sh b/provisioning/apache/general/bin/service.d/httpd.sh index ced651e69..03eec305a 100644 --- a/provisioning/apache/general/bin/service.d/httpd.sh +++ b/provisioning/apache/general/bin/service.d/httpd.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/httpd.d/" # Apache gets grumpy about PID files pre-existing rm -f /var/run/apache2/apache2*.pid -# Replace markers -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/httpd/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" - source /etc/apache2/envvars exec apache2 -DFOREGROUND -DAPACHE_LOCK_DIR diff --git a/provisioning/base-app/general/bin/service.d/dnsmasq.d/10-init.sh b/provisioning/base-app/general/bin/service.d/dnsmasq.d/10-init.sh new file mode 100644 index 000000000..51aa805d8 --- /dev/null +++ b/provisioning/base-app/general/bin/service.d/dnsmasq.d/10-init.sh @@ -0,0 +1,12 @@ +## clear dns file +echo > /etc/dnsmasq.d/development + +if [ ! -f /etc/resolv.conf.original ]; then + cp -a /etc/resolv.conf /etc/resolv.conf.original + + ## set forward servers + cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward + + ## set dnsmasq to main nameserver + echo "nameserver 127.0.0.1" > /etc/resolv.conf +fi diff --git a/provisioning/base-app/general/bin/service.d/dnsmasq.sh b/provisioning/base-app/general/bin/service.d/dnsmasq.sh index 055b46289..d16b1acbc 100644 --- a/provisioning/base-app/general/bin/service.d/dnsmasq.sh +++ b/provisioning/base-app/general/bin/service.d/dnsmasq.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -## clear dns file -echo > /etc/dnsmasq.d/development +source /opt/docker/bin/config.sh -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi +includeScriptDir "/opt/docker/bin/service.d/dnsmasq.d/" exec dnsmasq --keep-in-foreground diff --git a/provisioning/base-app/general/bin/service.d/postfix.d/10-init.sh b/provisioning/base-app/general/bin/service.d/postfix.d/10-init.sh new file mode 100644 index 000000000..e1e429811 --- /dev/null +++ b/provisioning/base-app/general/bin/service.d/postfix.d/10-init.sh @@ -0,0 +1,5 @@ +# force new copy of hosts there (otherwise links could be outdated) +mkdir -p /var/spool/postfix/etc +cp -f /etc/hosts /var/spool/postfix/etc/hosts +cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf +cp -f /etc/services /var/spool/postfix/etc/services diff --git a/provisioning/base-app/general/bin/service.d/postfix.sh b/provisioning/base-app/general/bin/service.d/postfix.sh index e685d5287..3ab608679 100644 --- a/provisioning/base-app/general/bin/service.d/postfix.sh +++ b/provisioning/base-app/general/bin/service.d/postfix.sh @@ -17,15 +17,13 @@ # autorestart = false # +source /opt/docker/bin/config.sh + trap "postfix stop" SIGINT trap "postfix stop" SIGTERM trap "postfix reload" SIGHUP -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services +includeScriptDir "/opt/docker/bin/service.d/postfix.d/" # start postfix postfix start @@ -36,4 +34,4 @@ sleep 3 # wait until postfix is dead (triggered by trap) while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do sleep 5 -done \ No newline at end of file +done diff --git a/provisioning/base-app/general/bin/service.d/ssh.d/10-init.sh b/provisioning/base-app/general/bin/service.d/ssh.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/base-app/general/bin/service.d/ssh.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/base-app/general/bin/service.d/ssh.sh b/provisioning/base-app/general/bin/service.d/ssh.sh new file mode 100644 index 000000000..ad855563f --- /dev/null +++ b/provisioning/base-app/general/bin/service.d/ssh.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/ssh.d/" + +exec /usr/sbin/sshd -D diff --git a/provisioning/base-app/general/etc/supervisor.d/dnsmasq.conf b/provisioning/base-app/general/etc/supervisor.d/dnsmasq.conf index 1b79b995e..9832ffca7 100644 --- a/provisioning/base-app/general/etc/supervisor.d/dnsmasq.conf +++ b/provisioning/base-app/general/etc/supervisor.d/dnsmasq.conf @@ -3,7 +3,7 @@ programs=dnsmasqd priority=15 [program:dnsmasqd] -command = bash /opt/docker/bin/service.d/dnsmasq.sh +command = /opt/docker/bin/service.d/dnsmasq.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/provisioning/base-app/general/etc/supervisor.d/ssh.conf b/provisioning/base-app/general/etc/supervisor.d/ssh.conf index 44488e642..0ecd798d6 100644 --- a/provisioning/base-app/general/etc/supervisor.d/ssh.conf +++ b/provisioning/base-app/general/etc/supervisor.d/ssh.conf @@ -3,7 +3,7 @@ programs=sshd priority=30 [program:sshd] -command = /usr/sbin/sshd -D +command = /opt/docker/bin/service.d/ssh.sh process_name=%(program_name)s startsecs=0 autostart = false diff --git a/provisioning/base/alpine/bin/service.d/cron.sh b/provisioning/base/alpine/bin/service.d/cron.sh new file mode 100644 index 000000000..e5d968dae --- /dev/null +++ b/provisioning/base/alpine/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/crond -f diff --git a/provisioning/base/alpine/etc/supervisor.d/cron.conf b/provisioning/base/alpine/etc/supervisor.d/cron.conf deleted file mode 100644 index fc95b8d0a..000000000 --- a/provisioning/base/alpine/etc/supervisor.d/cron.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:cron] -programs=crond -priority=30 - -[program:crond] -command = /usr/sbin/crond -f -process_name=%(program_name)s -startsecs = 0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/provisioning/base/centos/bin/service.d/cron.sh b/provisioning/base/centos/bin/service.d/cron.sh new file mode 100644 index 000000000..bcbcadf0f --- /dev/null +++ b/provisioning/base/centos/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /sbin/crond -n diff --git a/provisioning/base/centos/etc/supervisor.d/cron.conf b/provisioning/base/centos/etc/supervisor.d/cron.conf deleted file mode 100644 index 0c7875ccc..000000000 --- a/provisioning/base/centos/etc/supervisor.d/cron.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:cron] -programs=crond -priority=30 - -[program:crond] -command = /sbin/crond -n -process_name=%(program_name)s -startsecs = 0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/provisioning/base/general/bin/bootstrap.sh b/provisioning/base/general/bin/bootstrap.sh index 8e0d9c8f8..1d1a30f72 100644 --- a/provisioning/base/general/bin/bootstrap.sh +++ b/provisioning/base/general/bin/bootstrap.sh @@ -13,7 +13,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" # Save the buildtime date +%s > /opt/docker/BUILDTIME diff --git a/provisioning/base/general/bin/config.sh b/provisioning/base/general/bin/config.sh index a489b3e25..a79efefaa 100644 --- a/provisioning/base/general/bin/config.sh +++ b/provisioning/base/general/bin/config.sh @@ -2,9 +2,6 @@ shopt -s nullglob -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" -PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" - ### # Check if current user is root # @@ -12,7 +9,7 @@ PROVISION_REGISTRY_PATH="/opt/docker/etc/.registry" function rootCheck() { # Root check if [ "$(/usr/bin/whoami)" != "root" ]; then - echo "[ERROR] Must be run as root" + echo "[ERROR] $* must be run as root" exit 1 fi } @@ -56,6 +53,19 @@ function replaceTextInFile() { } +### + # Include script directory text inside a file + # + # $1 -> path + # + ## +function includeScriptDir() { + for FILE in "$1"/*.sh; do + # run custom scripts, only once + . "$FILE" + done +} + ### # Show deprecation notice # @@ -106,9 +116,6 @@ function runProvisionBootstrap() { done runDockerProvision bootstrap - - ## Reset bootstrap provision list (prevent re-run) - rm -f ${PROVISION_REGISTRY_PATH}/provision.*.bootstrap } ### @@ -128,10 +135,7 @@ function runProvisionBuild() { # Run "onbuild" provisioning ## function runProvisionOnBuild() { - for FILE in /opt/docker/provision/onbuild.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/onbuild.d" runDockerProvision onbuild } @@ -140,47 +144,11 @@ function runProvisionOnBuild() { # Run "entrypoint" provisioning ## function runProvisionEntrypoint() { - for FILE in /opt/docker/provision/entrypoint.d/*.sh; do - # run custom scripts - . "$FILE" - done + includeScriptDir "/opt/docker/provision/entrypoint.d" runDockerProvision entrypoint } -### - # Add role to provision registry - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # $2 -> role - # - ## -function provisionRoleAdd() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - PROVISION_ROLE="$2" - - mkdir -p -- "${PROVISION_REGISTRY_PATH}" - touch -- "${PROVISION_FILE}" - - echo "${PROVISION_ROLE}" >> "${PROVISION_FILE}" -} - -### - # Build list of roles for this registry provision type (playbook building) - # - # $1 -> registry type (bootstrap, onbuild, entrypoint...) - # - ## -function buildProvisionRoleList() { - PROVISION_FILE="${PROVISION_REGISTRY_PATH}/$1" - - if [ -s "${PROVISION_FILE}" ]; then - # Add registered roles - for ROLE in $(cat "$PROVISION_FILE"); do - echo " - { role: \"$ROLE\" }" - done - fi -} ### # Run docker provisioning with dyniamic playbook generation diff --git a/provisioning/base/general/bin/control.sh b/provisioning/base/general/bin/control.sh index 1240ff533..96330b503 100644 --- a/provisioning/base/general/bin/control.sh +++ b/provisioning/base/general/bin/control.sh @@ -7,7 +7,7 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true source /opt/docker/bin/config.sh -rootCheck +rootCheck "$0" CONTROL_COMMAND="$1" shift diff --git a/provisioning/base/general/bin/entrypoint.d/supervisord.sh b/provisioning/base/general/bin/entrypoint.d/supervisord.sh index f21489667..ead991551 100644 --- a/provisioning/base/general/bin/entrypoint.d/supervisord.sh +++ b/provisioning/base/general/bin/entrypoint.d/supervisord.sh @@ -4,6 +4,8 @@ ## Supervisord (start daemons) ############################################# +rootCheck "supervisord" + ## Start services exec /opt/docker/bin/service.d/supervisor.sh diff --git a/provisioning/base/general/bin/entrypoint.sh b/provisioning/base/general/bin/entrypoint.sh index 63296b8d2..f489687f5 100644 --- a/provisioning/base/general/bin/entrypoint.sh +++ b/provisioning/base/general/bin/entrypoint.sh @@ -13,14 +13,16 @@ TASK="$(echo $1| sed 's/[^-_a-zA-Z0-9]*//g')" source /opt/docker/bin/config.sh -rootCheck - -if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then - # Visible provisioning - runProvisionEntrypoint -else - # Hidden provisioning - runProvisionEntrypoint > /dev/null +if [ "$(/usr/bin/whoami)" == "root" ]; then + # Only run provision if user is root + + if [ "$TASK" == "supervisord" -o "$TASK" == "noop" ]; then + # Visible provisioning + runProvisionEntrypoint + else + # Hidden provisioning + runProvisionEntrypoint > /dev/null + fi fi ############################# diff --git a/provisioning/base/general/bin/service.d/cron.d/10-init.sh b/provisioning/base/general/bin/service.d/cron.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/base/general/bin/service.d/cron.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/base/general/bin/service.d/cron.sh b/provisioning/base/general/bin/service.d/cron.sh new file mode 100644 index 000000000..9bf7c10bf --- /dev/null +++ b/provisioning/base/general/bin/service.d/cron.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/cron.d/" + +exec /usr/sbin/cron -f diff --git a/provisioning/base/general/bin/service.d/dnsmasq.sh b/provisioning/base/general/bin/service.d/dnsmasq.sh deleted file mode 100644 index 055b46289..000000000 --- a/provisioning/base/general/bin/service.d/dnsmasq.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -## clear dns file -echo > /etc/dnsmasq.d/development - -if [ ! -f /etc/resolv.conf.original ]; then - cp -a /etc/resolv.conf /etc/resolv.conf.original - - ## set forward servers - cat /etc/resolv.conf.original | grep nameserver | sed 's/nameserver /server=/' > /etc/dnsmasq.d/forward - - ## set dnsmasq to main nameserver - echo "nameserver 127.0.0.1" > /etc/resolv.conf -fi - -exec dnsmasq --keep-in-foreground diff --git a/provisioning/base/general/bin/service.d/postfix.sh b/provisioning/base/general/bin/service.d/postfix.sh deleted file mode 100644 index e685d5287..000000000 --- a/provisioning/base/general/bin/service.d/postfix.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# postfix-wrapper.sh, version 0.1.0 -# -# You cannot start postfix in some foreground mode and -# it's more or less important that docker doesn't kill -# postfix and its chilren if you stop the container. -# -# Use this script with supervisord and it will take -# care about starting and stopping postfix correctly. -# -# supervisord config snippet for postfix-wrapper: -# -# [program:postfix] -# process_name = postfix -# command = /path/to/postfix-wrapper.sh -# startsecs = 0 -# autorestart = false -# - -trap "postfix stop" SIGINT -trap "postfix stop" SIGTERM -trap "postfix reload" SIGHUP - -# force new copy of hosts there (otherwise links could be outdated) -mkdir -p /var/spool/postfix/etc -cp -f /etc/hosts /var/spool/postfix/etc/hosts -cp -f /etc/resolv.conf /var/spool/postfix/etc/resolv.conf -cp -f /etc/services /var/spool/postfix/etc/services - -# start postfix -postfix start - -# lets give postfix some time to start -sleep 3 - -# wait until postfix is dead (triggered by trap) -while kill -0 "$(cat /var/spool/postfix/pid/master.pid)"; do - sleep 5 -done \ No newline at end of file diff --git a/provisioning/base/general/bin/service.d/supervisor.d/10-init.sh b/provisioning/base/general/bin/service.d/supervisor.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/base/general/bin/service.d/supervisor.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/base/general/bin/service.d/supervisor.sh b/provisioning/base/general/bin/service.d/supervisor.sh index 4728675cf..b1741955a 100644 --- a/provisioning/base/general/bin/service.d/supervisor.sh +++ b/provisioning/base/general/bin/service.d/supervisor.sh @@ -1,3 +1,7 @@ #!/usr/bin/env bash +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/supervisor.d/" + exec supervisord -c /opt/docker/etc/supervisor.conf --logfile /dev/null --pidfile /dev/null --user root diff --git a/provisioning/base/general/bin/service.d/syslog-ng.d/10-init.sh b/provisioning/base/general/bin/service.d/syslog-ng.d/10-init.sh new file mode 100644 index 000000000..e15eff00b --- /dev/null +++ b/provisioning/base/general/bin/service.d/syslog-ng.d/10-init.sh @@ -0,0 +1,27 @@ +# If /dev/log is either a named pipe or it was placed there accidentally, +# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, +# then we remove it. +if [ ! -S /dev/log ]; then rm -f /dev/log; fi +if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi + +SYSLOGNG_OPTS="" + +[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng + +case "x$CONSOLE_LOG_LEVEL" in + x[1-8]) + dmesg -n $CONSOLE_LOG_LEVEL + ;; + x) + ;; + *) + echo "CONSOLE_LOG_LEVEL is of unaccepted value." + ;; +esac + +if [ ! -e /dev/xconsole ] +then + mknod -m 640 /dev/xconsole p + chown root:adm /dev/xconsole + [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE +fi diff --git a/provisioning/base/general/bin/service.d/syslog-ng.sh b/provisioning/base/general/bin/service.d/syslog-ng.sh index 9a3351c64..69ae75f46 100644 --- a/provisioning/base/general/bin/service.d/syslog-ng.sh +++ b/provisioning/base/general/bin/service.d/syslog-ng.sh @@ -1,32 +1,8 @@ #!/usr/bin/env bash set -e -# If /dev/log is either a named pipe or it was placed there accidentally, -# e.g. because of the issue documented at https://github.com/phusion/baseimage-docker/pull/25, -# then we remove it. -if [ ! -S /dev/log ]; then rm -f /dev/log; fi -if [ ! -S /var/lib/syslog-ng/syslog-ng.ctl ]; then rm -f /var/lib/syslog-ng/syslog-ng.ctl; fi +source /opt/docker/bin/config.sh -SYSLOGNG_OPTS="" +includeScriptDir "/opt/docker/bin/service.d/syslog-ng.d/" -[ -r /etc/default/syslog-ng ] && . /etc/default/syslog-ng - -case "x$CONSOLE_LOG_LEVEL" in - x[1-8]) - dmesg -n $CONSOLE_LOG_LEVEL - ;; - x) - ;; - *) - echo "CONSOLE_LOG_LEVEL is of unaccepted value." - ;; -esac - -if [ ! -e /dev/xconsole ] -then - mknod -m 640 /dev/xconsole p - chown root:adm /dev/xconsole - [ -x /sbin/restorecon ] && /sbin/restorecon $XCONSOLE -fi - -exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS \ No newline at end of file +exec syslog-ng -F -p /var/run/syslog-ng.pid $SYSLOGNG_OPTS diff --git a/provisioning/base/general/etc/supervisor.d/cron.conf b/provisioning/base/general/etc/supervisor.d/cron.conf index 75ff35056..ef0a71678 100644 --- a/provisioning/base/general/etc/supervisor.d/cron.conf +++ b/provisioning/base/general/etc/supervisor.d/cron.conf @@ -3,7 +3,7 @@ programs=crond priority=25 [program:crond] -command = /usr/sbin/cron -f +command = /opt/docker/bin/service.d/cron.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/provisioning/base/general/etc/supervisor.d/ssh.conf b/provisioning/base/general/etc/supervisor.d/ssh.conf deleted file mode 100644 index 44488e642..000000000 --- a/provisioning/base/general/etc/supervisor.d/ssh.conf +++ /dev/null @@ -1,14 +0,0 @@ -[group:ssh] -programs=sshd -priority=30 - -[program:sshd] -command = /usr/sbin/sshd -D -process_name=%(program_name)s -startsecs=0 -autostart = false -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/provisioning/base/general/etc/supervisor.d/syslog-ng.conf b/provisioning/base/general/etc/supervisor.d/syslog-ng.conf index 014fee132..d7710af57 100644 --- a/provisioning/base/general/etc/supervisor.d/syslog-ng.conf +++ b/provisioning/base/general/etc/supervisor.d/syslog-ng.conf @@ -3,7 +3,7 @@ programs=syslogd priority=10 [program:syslogd] -command = bash /opt/docker/bin/service.d/syslog-ng.sh +command = /opt/docker/bin/service.d/syslog-ng.sh process_name=%(program_name)s autostart = true autorestart = true @@ -13,7 +13,7 @@ stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 [program:syslog-log] -command = bash /opt/docker/bin/logwatch.sh syslog /var/log/syslog +command = /opt/docker/bin/logwatch.sh syslog /var/log/syslog process_name=%(program_name)s autostart = true autorestart = true diff --git a/provisioning/hhvm/general/bin/service.d/hhvm.d/10-init.sh b/provisioning/hhvm/general/bin/service.d/hhvm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/hhvm/general/bin/service.d/hhvm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/hhvm/general/bin/service.d/hhvm.sh b/provisioning/hhvm/general/bin/service.d/hhvm.sh new file mode 100644 index 000000000..ff0a26578 --- /dev/null +++ b/provisioning/hhvm/general/bin/service.d/hhvm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 diff --git a/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf b/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf index 099a709ef..7a4fc0e29 100644 --- a/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf +++ b/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf @@ -3,7 +3,7 @@ programs=hhvmd priority=20 [program:hhvmd] -command = /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ user = application diff --git a/provisioning/mail-sandbox/general/bin/service.d/dovecot.d/10-init.sh b/provisioning/mail-sandbox/general/bin/service.d/dovecot.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/mail-sandbox/general/bin/service.d/dovecot.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/mail-sandbox/general/bin/service.d/dovecot.sh b/provisioning/mail-sandbox/general/bin/service.d/dovecot.sh new file mode 100644 index 000000000..6147f5f64 --- /dev/null +++ b/provisioning/mail-sandbox/general/bin/service.d/dovecot.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/dovecot.d/" + +exec /usr/sbin/dovecot -F diff --git a/provisioning/mail-sandbox/general/etc/supervisor.d/dovecot.conf b/provisioning/mail-sandbox/general/etc/supervisor.d/dovecot.conf index fea0756ab..26ae256b1 100644 --- a/provisioning/mail-sandbox/general/etc/supervisor.d/dovecot.conf +++ b/provisioning/mail-sandbox/general/etc/supervisor.d/dovecot.conf @@ -3,7 +3,7 @@ programs=dovecotd priority=20 [program:dovecotd] -command = /usr/sbin/dovecot -F +command = /opt/docker/bin/service.d/dovecot.sh process_name=%(program_name)s startsecs = 0 autostart = false diff --git a/provisioning/nginx/general/bin/service.d/nginx.d/10-init.sh b/provisioning/nginx/general/bin/service.d/nginx.d/10-init.sh new file mode 100644 index 000000000..74a1fa866 --- /dev/null +++ b/provisioning/nginx/general/bin/service.d/nginx.d/10-init.sh @@ -0,0 +1,11 @@ +if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then + echo "" + echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" + echo "" +fi + +# Replace markers +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" +find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" diff --git a/provisioning/nginx/general/bin/service.d/nginx.sh b/provisioning/nginx/general/bin/service.d/nginx.sh index c4ebf64b5..f5cd26167 100644 --- a/provisioning/nginx/general/bin/service.d/nginx.sh +++ b/provisioning/nginx/general/bin/service.d/nginx.sh @@ -1,16 +1,7 @@ #!/usr/bin/env bash -set -e -if [[ ! -e "$WEB_DOCUMENT_ROOT" ]]; then - echo "" - echo "[WARNING] WEB_DOCUMENT_ROOT does not exists with path \"$WEB_DOCUMENT_ROOT\"!" - echo "" -fi +source /opt/docker/bin/config.sh -# Replace markers -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_INDEX" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_DOCUMENT_ROOT" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$WEB_ALIAS_DOMAIN" -find /opt/docker/etc/nginx/ -iname '*.conf' -print0 | xargs -0 -r rpl --quiet "" "$HOSTNAME" +includeScriptDir "/opt/docker/bin/service.d/nginx.d/" exec /usr/sbin/nginx diff --git a/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh b/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/php/general/bin/service.d/php-fpm.sh b/provisioning/php/general/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..53b7a6be1 --- /dev/null +++ b/provisioning/php/general/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php-fpm --nodaemonize diff --git a/provisioning/php/general/etc/supervisor.d/php-fpm.conf b/provisioning/php/general/etc/supervisor.d/php-fpm.conf index 33e894d11..f40531bbc 100644 --- a/provisioning/php/general/etc/supervisor.d/php-fpm.conf +++ b/provisioning/php/general/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/provisioning/php/php7/etc/supervisor.d/php-fpm.conf b/provisioning/php/php7/etc/supervisor.d/php-fpm.conf index ede66c0f5..5504e92a1 100644 --- a/provisioning/php/php7/etc/supervisor.d/php-fpm.conf +++ b/provisioning/php/php7/etc/supervisor.d/php-fpm.conf @@ -3,7 +3,7 @@ programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log priority=20 [program:php-fpmd] -command = /usr/sbin/php-fpm --nodaemonize +command = /opt/docker/bin/service.d/php-fpm.sh process_name=%(program_name)s startsecs = 0 autostart = true diff --git a/provisioning/php/ubuntu-12.04/bin/service.d/php-fpm.sh b/provisioning/php/ubuntu-12.04/bin/service.d/php-fpm.sh new file mode 100644 index 000000000..83cf8a5f3 --- /dev/null +++ b/provisioning/php/ubuntu-12.04/bin/service.d/php-fpm.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/php.d/" + +exec /usr/sbin/php5-fpm diff --git a/provisioning/php/ubuntu-12.04/etc/supervisor.d/php-fpm.conf b/provisioning/php/ubuntu-12.04/etc/supervisor.d/php-fpm.conf deleted file mode 100644 index 834d308a9..000000000 --- a/provisioning/php/ubuntu-12.04/etc/supervisor.d/php-fpm.conf +++ /dev/null @@ -1,54 +0,0 @@ -[group:php-fpm] -programs=php-fpmd,php-fpm-log-fpm,php-fpm-log-slow,php-fpm-log-error,php-fpm-log-access -priority=20 - -[program:php-fpmd] -command = /usr/sbin/php5-fpm -process_name=%(program_name)s -startsecs = 0 -autostart = true -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:php-fpm-log-fpm] -command = bash /opt/docker/bin/logwatch.sh php:fpm /var/log/php5-fpm/fpm.log -startsecs = 0 -autostart = true -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:php-fpm-log-slow] -command = bash /opt/docker/bin/logwatch.sh php:slow /var/log/php5-fpm/slow.log -startsecs = 0 -autostart = true -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:php-fpm-log-error] -command = bash /opt/docker/bin/logwatch.sh php:error /var/log/php5-fpm/error.log -startsecs = 0 -autostart = true -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 - -[program:php-fpm-log-access] -command = bash /opt/docker/bin/logwatch.sh php:access /var/log/php5-fpm/access.log -startsecs = 0 -autostart = true -autorestart = true -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 diff --git a/provisioning/samson-deployment/general/bin/service.d/samson.d/10-init.sh b/provisioning/samson-deployment/general/bin/service.d/samson.d/10-init.sh new file mode 100644 index 000000000..24a053a6d --- /dev/null +++ b/provisioning/samson-deployment/general/bin/service.d/samson.d/10-init.sh @@ -0,0 +1,7 @@ +############################# +# Vacuum database +############################# + +if [[ -x "/opt/docker/bin/samson-cleanup-db.sh" ]]; then + /opt/docker/bin/samson-cleanup-db.sh +fi diff --git a/provisioning/samson-deployment/general/bin/service.d/samson.sh b/provisioning/samson-deployment/general/bin/service.d/samson.sh index a17480c86..ef42ef789 100644 --- a/provisioning/samson-deployment/general/bin/service.d/samson.sh +++ b/provisioning/samson-deployment/general/bin/service.d/samson.sh @@ -1,17 +1,13 @@ -#!/bin/bash +#!/usr/bin/env bash set -o pipefail ## trace ERR through pipes set -o errtrace ## trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value -############################# -# Vacuum database -############################# +source /opt/docker/bin/config.sh -if [[ -x "/opt/docker/bin/samson-cleanup-db.sh" ]]; then - /opt/docker/bin/samson-cleanup-db.sh -fi +includeScriptDir "/opt/docker/bin/service.d/samson.d/" sleep 1 @@ -19,3 +15,5 @@ echo "(Re-)Starting Samson" cd /app/ bin/rake db:migrate exec bundle exec puma -C ./config/puma.rb -e "$RAILS_ENV" + + diff --git a/provisioning/samson-deployment/general/etc/supervisor.d/docker.conf b/provisioning/samson-deployment/general/etc/supervisor.d/docker.conf new file mode 100644 index 000000000..519d04e46 --- /dev/null +++ b/provisioning/samson-deployment/general/etc/supervisor.d/docker.conf @@ -0,0 +1,12 @@ +[group:docker] +programs=dockerd +priority=25 + +[program:dockerd] +command = /usr/bin/docker daemon +autostart = false +autorestart = false +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/provisioning/samson-deployment/general/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml b/provisioning/samson-deployment/general/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml index eb796885c..ced92e8ce 100644 --- a/provisioning/samson-deployment/general/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml +++ b/provisioning/samson-deployment/general/provision/roles/webdevops-samson-deployment/tasks/bootstrap.yml @@ -1,4 +1,11 @@ --- +- name: Add application to docker group + user: + name: "{{ APPLICATION_USER }}" + group: "{{ APPLICATION_GROUP }}" + groups: "docker" + append: yes + - name: Fix permissions file: path: "/app" diff --git a/provisioning/vsftp/general/bin/service.d/vsftp.d/10-init.sh b/provisioning/vsftp/general/bin/service.d/vsftp.d/10-init.sh new file mode 100644 index 000000000..fdffa2a0f --- /dev/null +++ b/provisioning/vsftp/general/bin/service.d/vsftp.d/10-init.sh @@ -0,0 +1 @@ +# placeholder diff --git a/provisioning/vsftp/general/bin/service.d/vsftp.sh b/provisioning/vsftp/general/bin/service.d/vsftp.sh new file mode 100644 index 000000000..1c33d1dd0 --- /dev/null +++ b/provisioning/vsftp/general/bin/service.d/vsftp.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +source /opt/docker/bin/config.sh + +includeScriptDir "/opt/docker/bin/service.d/vsftp.d/" + +exec vsftpd diff --git a/provisioning/vsftp/general/etc/supervisor.d/vsftp.conf b/provisioning/vsftp/general/etc/supervisor.d/vsftp.conf index 884e879f3..114305302 100644 --- a/provisioning/vsftp/general/etc/supervisor.d/vsftp.conf +++ b/provisioning/vsftp/general/etc/supervisor.d/vsftp.conf @@ -3,7 +3,7 @@ programs=vsftpd,vsftp-log priority=20 [program:vsftpd] -command = vsftpd +command = /opt/docker/bin/service.d/vsftp.sh autostart = true autorestart = true stdout_logfile=/dev/stdout