diff options
-rw-r--r-- | docker-armhf/lamp/Dockerfile | 10 | ||||
-rw-r--r-- | docker-armhf/nextcloud/Dockerfile | 4 | ||||
-rwxr-xr-x | docker-common/debian-ncp/run-parts.sh | 8 | ||||
-rwxr-xr-x | docker-common/lamp/010lamp | 4 | ||||
-rwxr-xr-x | docker-common/nextcloud/020nextcloud | 4 | ||||
-rw-r--r-- | docker/lamp/Dockerfile | 10 | ||||
-rw-r--r-- | docker/nextcloud/Dockerfile | 4 |
7 files changed, 29 insertions, 15 deletions
diff --git a/docker-armhf/lamp/Dockerfile b/docker-armhf/lamp/Dockerfile index c1119255..69f03468 100644 --- a/docker-armhf/lamp/Dockerfile +++ b/docker-armhf/lamp/Dockerfile @@ -15,10 +15,10 @@ source /usr/local/etc/library.sh; \ set +x; \ install_script /usr/local/etc/lamp.sh; \ -# mariaDB fixups (move database to /data, which will be in a persistent volume) -mkdir -p /data/; \ -mv /var/lib/mysql /data/database; \ -sed -i "s|^datadir.*|datadir = /data/database|" /etc/mysql/mariadb.conf.d/50-server.cnf; \ +# mariaDB fixups (move database to /data-ro, which will be in a persistent volume) +mkdir -p /data-ro /data; \ +mv /var/lib/mysql /data-ro/database; \ +sed -i "s|^datadir.*|datadir = /data-ro/database|" /etc/mysql/mariadb.conf.d/50-server.cnf; \ # package cleanup apt-get autoremove -y; \ @@ -30,7 +30,7 @@ rm /var/cache/debconf/*-old; \ rm -f /var/log/alternatives.log /var/log/apt/*; \ # specific cleanup -rm /data/database/ib_logfile*; \ +rm /data-ro/database/ib_logfile*; \ rm /usr/local/etc/lamp.sh COPY docker-common/lamp/010lamp /etc/services-enabled.d/ diff --git a/docker-armhf/nextcloud/Dockerfile b/docker-armhf/nextcloud/Dockerfile index 118a1480..317f43ec 100644 --- a/docker-armhf/nextcloud/Dockerfile +++ b/docker-armhf/nextcloud/Dockerfile @@ -18,8 +18,8 @@ source /usr/local/etc/library.sh; \ set +x; \ install_script /nc-nextcloud.sh; \ activate_script /nc-nextcloud.sh; \ -mv /var/www/nextcloud /data/app; \ -ln -s /data/app /var/www/nextcloud; \ +mv /var/www/nextcloud /data-ro/app; \ +ln -s /data-ro/app /var/www/nextcloud; \ # package cleanup apt-get autoremove -y; \ diff --git a/docker-common/debian-ncp/run-parts.sh b/docker-common/debian-ncp/run-parts.sh index e35ef2af..eddb03d0 100755 --- a/docker-common/debian-ncp/run-parts.sh +++ b/docker-common/debian-ncp/run-parts.sh @@ -1,5 +1,6 @@ #!/bin/bash + cleanup() { for file in $( ls -1rv /etc/services-enabled.d ); do @@ -10,6 +11,10 @@ cleanup() trap cleanup SIGTERM +# if an empty volume is mounted to /data, pre-populate it +[[ $( ls -1A /data | wc -l ) -eq 0 ]] && { echo "Initializing empty volume.."; cp -raT /data-ro /data; } + +# wrapper to simulate update-rc.d cat > /usr/local/sbin/update-rc.d <<'EOF' #!/bin/bash FILE=/etc/services-available.d/???"$1" @@ -43,5 +48,6 @@ for file in $( ls -1v -I 000* /etc/services-enabled.d ); do /etc/services-enabled.d/"$file" start "$1" done +# wait for trap from 'docker stop' echo "Init done" -while true; do sleep 0.5; done # do nothing, just wait for trap from 'docker stop' +while true; do sleep 0.5; done diff --git a/docker-common/lamp/010lamp b/docker-common/lamp/010lamp index 9552d848..5007491c 100755 --- a/docker-common/lamp/010lamp +++ b/docker-common/lamp/010lamp @@ -24,6 +24,10 @@ php-fpm7.0 & echo "Starting Apache" /usr/sbin/apache2ctl start +# adjust the dbdir to the persistent storage +sed -i "s|^datadir.*|datadir = /data/database|" /etc/mysql/mariadb.conf.d/50-server.cnf + +# start echo "Starting mariaDB" mysqld & diff --git a/docker-common/nextcloud/020nextcloud b/docker-common/nextcloud/020nextcloud index d4a5088a..14342d7f 100755 --- a/docker-common/nextcloud/020nextcloud +++ b/docker-common/nextcloud/020nextcloud @@ -19,6 +19,10 @@ OCC="$NCDIR/occ" exit 0 } +# we want to work in the volume version of the code +rm /var/www/nextcloud +ln -s /data/app /var/www/nextcloud + echo "Provisioning" bash /usr/local/bin/ncp-provisioning.sh diff --git a/docker/lamp/Dockerfile b/docker/lamp/Dockerfile index 6e937edb..0f7ae30e 100644 --- a/docker/lamp/Dockerfile +++ b/docker/lamp/Dockerfile @@ -15,10 +15,10 @@ source /usr/local/etc/library.sh; \ set +x; \ install_script /usr/local/etc/lamp.sh; \ -# mariaDB fixups (move database to /data, which will be in a persistent volume) -mkdir -p /data/; \ -mv /var/lib/mysql /data/database; \ -sed -i "s|^datadir.*|datadir = /data/database|" /etc/mysql/mariadb.conf.d/50-server.cnf; \ +# mariaDB fixups (move database to /data-ro, which will be in a persistent volume) +mkdir -p /data-ro /data; \ +mv /var/lib/mysql /data-ro/database; \ +sed -i "s|^datadir.*|datadir = /data-ro/database|" /etc/mysql/mariadb.conf.d/50-server.cnf; \ # package cleanup apt-get autoremove -y; \ @@ -30,7 +30,7 @@ rm /var/cache/debconf/*-old; \ rm -f /var/log/alternatives.log /var/log/apt/*; \ # specific cleanup -rm /data/database/ib_logfile*; \ +rm /data-ro/database/ib_logfile*; \ rm /usr/local/etc/lamp.sh COPY docker-common/lamp/010lamp /etc/services-enabled.d/ diff --git a/docker/nextcloud/Dockerfile b/docker/nextcloud/Dockerfile index f2dd4e4e..a640e8a6 100644 --- a/docker/nextcloud/Dockerfile +++ b/docker/nextcloud/Dockerfile @@ -18,8 +18,8 @@ source /usr/local/etc/library.sh; \ set +x; \ install_script /nc-nextcloud.sh; \ activate_script /nc-nextcloud.sh; \ -mv /var/www/nextcloud /data/app; \ -ln -s /data/app /var/www/nextcloud; \ +mv /var/www/nextcloud /data-ro/app; \ +ln -s /data-ro/app /var/www/nextcloud; \ # package cleanup apt-get autoremove -y; \ |