diff options
-rw-r--r-- | .dockerignore | 1 | ||||
-rw-r--r-- | docker-armhf/debian-ncp/Dockerfile | 2 | ||||
-rwxr-xr-x | docker-armhf/debian-ncp/run-parts.sh | 8 | ||||
-rwxr-xr-x | docker-armhf/nextcloudpi/000ncp | 1 | ||||
-rw-r--r-- | docker-armhf/nextcloudpi/Dockerfile | 2 | ||||
-rwxr-xr-x | docker/debian-ncp/run-parts.sh | 8 | ||||
-rwxr-xr-x | docker/nextcloudpi/000ncp | 1 | ||||
-rw-r--r-- | etc/nextcloudpi-config.d/letsencrypt.sh | 16 |
8 files changed, 32 insertions, 7 deletions
diff --git a/.dockerignore b/.dockerignore index 7935f927..23760651 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,6 +2,5 @@ torrent/ partial/ qemu-raspbian-network/ armbian/ -docker-armhf/ *.img *.tar.bz2 diff --git a/docker-armhf/debian-ncp/Dockerfile b/docker-armhf/debian-ncp/Dockerfile index 54ef9859..c75a0edb 100644 --- a/docker-armhf/debian-ncp/Dockerfile +++ b/docker-armhf/debian-ncp/Dockerfile @@ -6,4 +6,4 @@ CMD /bin/bash RUN mkdir -p /etc/services-available.d /etc/services-enabled.d -COPY docker/debian-ncp/run-parts.sh / +COPY docker-armhf/debian-ncp/run-parts.sh / diff --git a/docker-armhf/debian-ncp/run-parts.sh b/docker-armhf/debian-ncp/run-parts.sh index 0c8fe3f1..6ebe5ba1 100755 --- a/docker-armhf/debian-ncp/run-parts.sh +++ b/docker-armhf/debian-ncp/run-parts.sh @@ -33,7 +33,13 @@ test -f $FILE || { EOF chmod +x /usr/local/sbin/update-rc.d -for file in $( ls -1v /etc/services-enabled.d ); do +# Iterate only over 000* entries which might setup environment +for file in $( ls -1v /etc/services-enabled.d | grep 000* ); do + /etc/services-enabled.d/"$file" start "$1" +done + +# Iterate over remaining entries +for file in $( ls -1v -I 000* /etc/services-enabled.d ); do /etc/services-enabled.d/"$file" start "$1" done diff --git a/docker-armhf/nextcloudpi/000ncp b/docker-armhf/nextcloudpi/000ncp index 6a4d2d2e..f23f0183 100755 --- a/docker-armhf/nextcloudpi/000ncp +++ b/docker-armhf/nextcloudpi/000ncp @@ -4,5 +4,6 @@ source /usr/local/etc/library.sh # INIT NCP CONFIG (first run) persistent_cfg /usr/local/etc/nextcloudpi-config.d /data/ncp +persistent_cfg /etc/services-enabled.d exit 0 diff --git a/docker-armhf/nextcloudpi/Dockerfile b/docker-armhf/nextcloudpi/Dockerfile index 101554a6..4ea70bc1 100644 --- a/docker-armhf/nextcloudpi/Dockerfile +++ b/docker-armhf/nextcloudpi/Dockerfile @@ -73,7 +73,7 @@ rm -rf /usr/share/doc/*; \ rm -f /var/log/alternatives.log /var/log/apt/*; \ rm /var/cache/debconf/*-old; -COPY docker/nextcloudpi/000ncp /etc/services-enabled.d/ +COPY docker-armhf/nextcloudpi/000ncp /etc/services-enabled.d/ # 4443 - ncp-web EXPOSE 80 443 4443 diff --git a/docker/debian-ncp/run-parts.sh b/docker/debian-ncp/run-parts.sh index 0c8fe3f1..6ebe5ba1 100755 --- a/docker/debian-ncp/run-parts.sh +++ b/docker/debian-ncp/run-parts.sh @@ -33,7 +33,13 @@ test -f $FILE || { EOF chmod +x /usr/local/sbin/update-rc.d -for file in $( ls -1v /etc/services-enabled.d ); do +# Iterate only over 000* entries which might setup environment +for file in $( ls -1v /etc/services-enabled.d | grep 000* ); do + /etc/services-enabled.d/"$file" start "$1" +done + +# Iterate over remaining entries +for file in $( ls -1v -I 000* /etc/services-enabled.d ); do /etc/services-enabled.d/"$file" start "$1" done diff --git a/docker/nextcloudpi/000ncp b/docker/nextcloudpi/000ncp index 6a4d2d2e..f23f0183 100755 --- a/docker/nextcloudpi/000ncp +++ b/docker/nextcloudpi/000ncp @@ -4,5 +4,6 @@ source /usr/local/etc/library.sh # INIT NCP CONFIG (first run) persistent_cfg /usr/local/etc/nextcloudpi-config.d /data/ncp +persistent_cfg /etc/services-enabled.d exit 0 diff --git a/etc/nextcloudpi-config.d/letsencrypt.sh b/etc/nextcloudpi-config.d/letsencrypt.sh index e7179ec8..5ed82753 100644 --- a/etc/nextcloudpi-config.d/letsencrypt.sh +++ b/etc/nextcloudpi-config.d/letsencrypt.sh @@ -42,15 +42,23 @@ install() /etc/letsencrypt/letsencrypt-auto --help # do not actually run certbot, only install packages [[ "$DOCKERBUILD" == 1 ]] && { - cat > /etc/services-available.d/100letsencrypt <<EOF + # execute before lamp stack + cat > /etc/services-available.d/009letsencrypt <<EOF #!/bin/bash source /usr/local/etc/library.sh persistent_cfg /etc/letsencrypt +cat > /etc/cron.weekly/letsencrypt-ncp <<EOFCRON +#!/bin/bash +/etc/letsencrypt/certbot-auto renew --quiet +EOFCRON + +chmod +x /etc/cron.weekly/letsencrypt-ncp + exit 0 EOF - chmod +x /etc/services-available.d/100letsencrypt + chmod +x /etc/services-available.d/009letsencrypt } } @@ -82,6 +90,10 @@ EOF # delayed in bg so it does not kill the connection, and we get AJAX response bash -c "sleep 2 && service apache2 reload" &>/dev/null & rm -rf $NCDIR/.well-known + + # update configuration + /usr/local/sbin/update-rc.d letsencrypt enable + return 0 } rm -rf $NCDIR/.well-known |