From cd2e94714426e6109ed8400ef7380d106af684a3 Mon Sep 17 00:00:00 2001 From: nachoparker Date: Wed, 15 Nov 2017 18:25:35 +0100 Subject: docker: add update-rc.d function --- docker-armhf/debian-ncp/Dockerfile | 2 +- docker-armhf/debian-ncp/run-parts.sh | 28 ++++++++++++--- docker-armhf/lamp/010-lamp-run.sh | 36 ------------------- docker-armhf/lamp/010lamp | 36 +++++++++++++++++++ docker-armhf/lamp/Dockerfile | 2 +- docker-armhf/nextcloud/020-nextcloud-run.sh | 55 ----------------------------- docker-armhf/nextcloud/020nextcloud | 55 +++++++++++++++++++++++++++++ docker-armhf/nextcloud/Dockerfile | 2 +- docker-armhf/nextcloudpi/000-ncp-run.sh | 8 ----- docker-armhf/nextcloudpi/000ncp | 8 +++++ docker-armhf/nextcloudpi/Dockerfile | 2 +- 11 files changed, 127 insertions(+), 107 deletions(-) delete mode 100755 docker-armhf/lamp/010-lamp-run.sh create mode 100755 docker-armhf/lamp/010lamp delete mode 100755 docker-armhf/nextcloud/020-nextcloud-run.sh create mode 100755 docker-armhf/nextcloud/020nextcloud delete mode 100755 docker-armhf/nextcloudpi/000-ncp-run.sh create mode 100755 docker-armhf/nextcloudpi/000ncp (limited to 'docker-armhf') diff --git a/docker-armhf/debian-ncp/Dockerfile b/docker-armhf/debian-ncp/Dockerfile index bf37a275..54ef9859 100644 --- a/docker-armhf/debian-ncp/Dockerfile +++ b/docker-armhf/debian-ncp/Dockerfile @@ -4,6 +4,6 @@ MAINTAINER Ignacio Núñez Hernanz CMD /bin/bash -RUN mkdir -p /etc/services.d +RUN mkdir -p /etc/services-available.d /etc/services-enabled.d COPY docker/debian-ncp/run-parts.sh / diff --git a/docker-armhf/debian-ncp/run-parts.sh b/docker-armhf/debian-ncp/run-parts.sh index dee4fe61..44336060 100755 --- a/docker-armhf/debian-ncp/run-parts.sh +++ b/docker-armhf/debian-ncp/run-parts.sh @@ -2,16 +2,36 @@ cleanup() { - for file in $( ls -1rv /etc/services.d ); do - /etc/services.d/"$file" stop "$1" + for file in $( ls -1rv /etc/services-enabled.d ); do + /etc/services-enabled.d/"$file" stop "$1" done exit } trap cleanup SIGTERM -for file in $( ls -1v /etc/services.d ); do - /etc/services.d/"$file" start "$1" +cat > /usr/local/sbin/update-rc.d <<'EOF' +#!/bin/bash +FILE=/etc/services-available.d/???"$1" + +test -f $FILE || { + echo "$1 doesn't exist" + exit 1 +} + +[[ "$2" == "enable" ]] && { + ln -s $FILE /etc/services-enabled.d/$( basename $FILE ) + echo "enabled $1" + exit 0 +} + +rm -f /etc/services-enabled.d/$( basename $FILE ) +echo "disabled $1" +EOF +chmod +x /usr/local/sbin/update-rc.d + +for file in $( ls -1v /etc/services-enabled.d ); do + /etc/services-enabled.d/"$file" start "$1" done echo "Init done" diff --git a/docker-armhf/lamp/010-lamp-run.sh b/docker-armhf/lamp/010-lamp-run.sh deleted file mode 100755 index 9552d848..00000000 --- a/docker-armhf/lamp/010-lamp-run.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -source /usr/local/etc/library.sh - -set -e - -[[ "$1" == "stop" ]] && { - echo "Stopping apache" - apachectl graceful-stop - echo "Stopping PHP-fpm" - killall php-fpm7.0 - echo "Stopping mariaDB" - mysqladmin -u root shutdown - echo "LAMP cleanup complete" - exit 0 -} - -# MOVE CONFIGS TO PERSISTENT VOLUME -persistent_cfg /etc/apache2 - -echo "Starting PHP-fpm" -php-fpm7.0 & - -echo "Starting Apache" -/usr/sbin/apache2ctl start - -echo "Starting mariaDB" -mysqld & - -# wait for mariadb -while :; do - [[ -S /var/run/mysqld/mysqld.sock ]] && break - sleep 0.5 -done - -exit 0 diff --git a/docker-armhf/lamp/010lamp b/docker-armhf/lamp/010lamp new file mode 100755 index 00000000..9552d848 --- /dev/null +++ b/docker-armhf/lamp/010lamp @@ -0,0 +1,36 @@ +#!/bin/bash + +source /usr/local/etc/library.sh + +set -e + +[[ "$1" == "stop" ]] && { + echo "Stopping apache" + apachectl graceful-stop + echo "Stopping PHP-fpm" + killall php-fpm7.0 + echo "Stopping mariaDB" + mysqladmin -u root shutdown + echo "LAMP cleanup complete" + exit 0 +} + +# MOVE CONFIGS TO PERSISTENT VOLUME +persistent_cfg /etc/apache2 + +echo "Starting PHP-fpm" +php-fpm7.0 & + +echo "Starting Apache" +/usr/sbin/apache2ctl start + +echo "Starting mariaDB" +mysqld & + +# wait for mariadb +while :; do + [[ -S /var/run/mysqld/mysqld.sock ]] && break + sleep 0.5 +done + +exit 0 diff --git a/docker-armhf/lamp/Dockerfile b/docker-armhf/lamp/Dockerfile index 4b672951..30f96f33 100644 --- a/docker-armhf/lamp/Dockerfile +++ b/docker-armhf/lamp/Dockerfile @@ -33,7 +33,7 @@ rm -f /var/log/alternatives.log /var/log/apt/*; \ rm /data/database/ib_logfile*; \ rm /usr/local/etc/lamp.sh -COPY docker/lamp/010-lamp-run.sh /etc/services.d/ +COPY docker/lamp/010lamp /etc/services-enabled.d/ ENTRYPOINT ["/run-parts.sh"] diff --git a/docker-armhf/nextcloud/020-nextcloud-run.sh b/docker-armhf/nextcloud/020-nextcloud-run.sh deleted file mode 100755 index 48076ad2..00000000 --- a/docker-armhf/nextcloud/020-nextcloud-run.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -source /usr/local/etc/library.sh - -set -e - -NCDIR=/var/www/nextcloud -OCC="$NCDIR/occ" - -[[ "$1" == "stop" ]] && { - echo "stopping Cron..." - killall cron - echo "stopping Redis..." - killall redis-server - echo "stopping Postfix..." - postfix stop - exit 0 -} - -echo "Starting Redis" -mkdir -p /var/run/redis -chown redis /var/run/redis -sudo -u redis redis-server /etc/redis/redis.conf - -echo "Starting Cron" -cron - -echo "Starting Postfix" -postfix start - - -# INIT DATABASE AND NEXTCLOUD CONFIG (first run) -test -f /data/app/config/config.php || { - echo "Uninitialized instance, running nc-init..." - source /usr/local/etc/library.sh - cd /usr/local/etc/ - activate_script nc-init.sh -} - -# Trusted Domain ( local IP ) -IFACE=$( ip r | grep "default via" | awk '{ print $5 }' ) -IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(\.\d{1,3}){3}' | head -1 ) -sudo -u www-data php "$OCC" config:system:set trusted_domains 1 --value="$IP" - -# Trusted Domain ( as an argument ) -[[ "$@" != "" ]] && { - IP=$( grep -oP '\d{1,3}(\.\d{1,3}){3}' <<< "$2" ) # validate that the first argument is a valid IP - if [[ "$IP" != "" ]]; then - sudo -u www-data php "$OCC" config:system:set trusted_domains 6 --value="$IP" - else - echo "First argument must be an IP address to include as a Trusted domain. Ignoring" - fi -} - -exit 0 diff --git a/docker-armhf/nextcloud/020nextcloud b/docker-armhf/nextcloud/020nextcloud new file mode 100755 index 00000000..48076ad2 --- /dev/null +++ b/docker-armhf/nextcloud/020nextcloud @@ -0,0 +1,55 @@ +#!/bin/bash + +source /usr/local/etc/library.sh + +set -e + +NCDIR=/var/www/nextcloud +OCC="$NCDIR/occ" + +[[ "$1" == "stop" ]] && { + echo "stopping Cron..." + killall cron + echo "stopping Redis..." + killall redis-server + echo "stopping Postfix..." + postfix stop + exit 0 +} + +echo "Starting Redis" +mkdir -p /var/run/redis +chown redis /var/run/redis +sudo -u redis redis-server /etc/redis/redis.conf + +echo "Starting Cron" +cron + +echo "Starting Postfix" +postfix start + + +# INIT DATABASE AND NEXTCLOUD CONFIG (first run) +test -f /data/app/config/config.php || { + echo "Uninitialized instance, running nc-init..." + source /usr/local/etc/library.sh + cd /usr/local/etc/ + activate_script nc-init.sh +} + +# Trusted Domain ( local IP ) +IFACE=$( ip r | grep "default via" | awk '{ print $5 }' ) +IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(\.\d{1,3}){3}' | head -1 ) +sudo -u www-data php "$OCC" config:system:set trusted_domains 1 --value="$IP" + +# Trusted Domain ( as an argument ) +[[ "$@" != "" ]] && { + IP=$( grep -oP '\d{1,3}(\.\d{1,3}){3}' <<< "$2" ) # validate that the first argument is a valid IP + if [[ "$IP" != "" ]]; then + sudo -u www-data php "$OCC" config:system:set trusted_domains 6 --value="$IP" + else + echo "First argument must be an IP address to include as a Trusted domain. Ignoring" + fi +} + +exit 0 diff --git a/docker-armhf/nextcloud/Dockerfile b/docker-armhf/nextcloud/Dockerfile index f8c42fa3..9dc54663 100644 --- a/docker-armhf/nextcloud/Dockerfile +++ b/docker-armhf/nextcloud/Dockerfile @@ -33,4 +33,4 @@ rm -f /var/log/alternatives.log /var/log/apt/*; \ apt-get purge -y wget ca-certificates; \ rm /usr/local/etc/nc-nextcloud.sh -COPY docker/nextcloud/020-nextcloud-run.sh /etc/services.d/ +COPY docker/nextcloud/020nextcloud /etc/services-enabled.d/ diff --git a/docker-armhf/nextcloudpi/000-ncp-run.sh b/docker-armhf/nextcloudpi/000-ncp-run.sh deleted file mode 100755 index 6a4d2d2e..00000000 --- a/docker-armhf/nextcloudpi/000-ncp-run.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -source /usr/local/etc/library.sh - -# INIT NCP CONFIG (first run) -persistent_cfg /usr/local/etc/nextcloudpi-config.d /data/ncp - -exit 0 diff --git a/docker-armhf/nextcloudpi/000ncp b/docker-armhf/nextcloudpi/000ncp new file mode 100755 index 00000000..6a4d2d2e --- /dev/null +++ b/docker-armhf/nextcloudpi/000ncp @@ -0,0 +1,8 @@ +#!/bin/bash + +source /usr/local/etc/library.sh + +# INIT NCP CONFIG (first run) +persistent_cfg /usr/local/etc/nextcloudpi-config.d /data/ncp + +exit 0 diff --git a/docker-armhf/nextcloudpi/Dockerfile b/docker-armhf/nextcloudpi/Dockerfile index 3be71f31..7458eebf 100644 --- a/docker-armhf/nextcloudpi/Dockerfile +++ b/docker-armhf/nextcloudpi/Dockerfile @@ -68,7 +68,7 @@ rm -rf /usr/share/doc/*; \ rm -f /var/log/alternatives.log /var/log/apt/*; \ rm /var/cache/debconf/*-old; -COPY docker/nextcloudpi/000-ncp-run.sh /etc/services.d/ +COPY docker/nextcloudpi/000ncp /etc/services-enabled.d/ # 4443 - ncp-web EXPOSE 80 443 4443 -- cgit v1.2.3