From 7f485eb9fa8cd5b807916a2cfda4fd90c3e9219f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Wed, 12 Sep 2018 14:32:05 +0200 Subject: [PATCH 1/7] implement #455: auto-install via occ maintenance:install --- 12.0/apache/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 12.0/fpm-alpine/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 12.0/fpm/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 13.0/apache/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 13.0/fpm-alpine/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 13.0/fpm/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 14.0/apache/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 14.0/fpm-alpine/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 14.0/fpm/entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- docker-entrypoint.sh | 39 ++++++++++++++++++++++++++++++++++- 10 files changed, 380 insertions(+), 10 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index 0afc002..c31f4e9 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 0afc002..c31f4e9 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -49,13 +49,50 @@ if version_greater "$image_version" "$installed_version"; then fi done - if [ "$installed_version" != "0.0.0.0" ]; then + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" + + if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + fi + if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ ! -z ${SQLITE_DATABASE+x} ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi + fi + #upgrade + else run_as 'php /var/www/html/occ upgrade' run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after echo "The following apps have been disabled:" diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 rm -f /tmp/list_before /tmp/list_after + fi fi From f5d3234fcac7f7feeae52d0b95be1b6615f2e362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Thu, 13 Sep 2018 11:32:56 +0200 Subject: [PATCH 2/7] - using defaults from autoconfig.php - using '-n' instead of '! -z' - adding quotes --- 12.0/apache/entrypoint.sh | 14 ++++++++------ 12.0/fpm-alpine/entrypoint.sh | 14 ++++++++------ 12.0/fpm/entrypoint.sh | 14 ++++++++------ 13.0/apache/entrypoint.sh | 14 ++++++++------ 13.0/fpm-alpine/entrypoint.sh | 14 ++++++++------ 13.0/fpm/entrypoint.sh | 14 ++++++++------ 14.0/apache/entrypoint.sh | 14 ++++++++------ 14.0/fpm-alpine/entrypoint.sh | 14 ++++++++------ 14.0/fpm/entrypoint.sh | 14 ++++++++------ docker-entrypoint.sh | 14 ++++++++------ 10 files changed, 80 insertions(+), 60 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index c31f4e9..86af855 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index c31f4e9..86af855 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index c31f4e9..86af855 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index c31f4e9..86af855 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index c31f4e9..86af855 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index c31f4e9..86af855 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index c31f4e9..86af855 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index c31f4e9..86af855 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index c31f4e9..86af855 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index c31f4e9..86af855 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -53,27 +53,29 @@ if version_greater "$image_version" "$installed_version"; then if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - if [ ! -z ${NEXTCLOUD_ADMIN_USER+x} ] && [ ! -z ${NEXTCLOUD_ADMIN_PASSWORD+x} ]; then + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ ! -z ${NEXTCLOUD_TABLE_PREFIX+x} ]; then + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" fi - if [ ! -z ${NEXTCLOUD_DATA_DIR+x} ]; then + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" fi - if [ ! -z ${SQLITE_DATABASE+x} ]; then + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" install_options="$install_options --database-name \"$SQLITE_DATABASE\"" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${MYSQL_DATABASE+x} ] && [ ! -z ${MYSQL_USER+x} ] && [ ! -z ${MYSQL_PASSWORD+x} ] && [ ! -z ${MYSQL_HOST+x} ]; then + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ ! -z ${POSTGRES_DB+x} ] && [ ! -z ${POSTGRES_USER+x} ] && [ ! -z ${POSTGRES_PASSWORD+x} ] && [ ! -z ${POSTGRES_HOST+x} ]; then + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" echo "waiting 10s for the database to setup" From a3cce50b00a4d0568f12de6043e797e803b95157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Thu, 13 Sep 2018 14:36:50 +0200 Subject: [PATCH 3/7] only initialize / update when the command is apache* or php-fpm (do nothing on thins like bash, echo) --- 12.0/apache/entrypoint.sh | 134 +++++++++++++++++----------------- 12.0/fpm-alpine/entrypoint.sh | 134 +++++++++++++++++----------------- 12.0/fpm/entrypoint.sh | 134 +++++++++++++++++----------------- 13.0/apache/entrypoint.sh | 134 +++++++++++++++++----------------- 13.0/fpm-alpine/entrypoint.sh | 134 +++++++++++++++++----------------- 13.0/fpm/entrypoint.sh | 134 +++++++++++++++++----------------- 14.0/apache/entrypoint.sh | 134 +++++++++++++++++----------------- 14.0/fpm-alpine/entrypoint.sh | 134 +++++++++++++++++----------------- 14.0/fpm/entrypoint.sh | 134 +++++++++++++++++----------------- docker-entrypoint.sh | 134 +++++++++++++++++----------------- 10 files changed, 680 insertions(+), 660 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index 86af855..dd019a8 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index 86af855..dd019a8 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index 86af855..dd019a8 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index 86af855..dd019a8 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index 86af855..dd019a8 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index 86af855..dd019a8 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index 86af855..dd019a8 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index 86af855..dd019a8 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index 86af855..dd019a8 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 86af855..dd019a8 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -19,82 +19,84 @@ run_as() { fi } -installed_version="0.0.0.0" -if [ -f /var/www/html/version.php ]; then +if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then + installed_version="0.0.0.0" + if [ -f /var/www/html/version.php ]; then + # shellcheck disable=SC2016 + installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + fi # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" -fi -# shellcheck disable=SC2016 -image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0.0" ]; then - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before + if version_greater "$installed_version" "$image_version"; then + echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" + exit 1 fi - if [ "$(id -u)" = 0 ]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - for dir in config data custom_apps themes; do - if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then - rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ + if version_greater "$image_version" "$installed_version"; then + if [ "$installed_version" != "0.0.0.0" ]; then + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_before fi - done + if [ "$(id -u)" = 0 ]; then + rsync_options="-rlDog --chown www-data:root" + else + rsync_options="-rlD" + fi + rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - #install - if [ "$installed_version" = "0.0.0.0" ]; then - echo "New nextcloud instance" - - if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" - if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" - else - install_options="$install_options --database-table-prefix \"\"" - fi - if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + for dir in config data custom_apps themes; do + if [ ! -d "/var/www/html/$dir" ] || directory_empty "/var/www/html/$dir"; then + rsync $rsync_options --include "/$dir/" --exclude '/*' /usr/src/nextcloud/ /var/www/html/ fi + done + + #install + if [ "$installed_version" = "0.0.0.0" ]; then + echo "New nextcloud instance" - if [ -n "${SQLITE_DATABASE+x}" ]; then - echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then - echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" - echo "waiting 30s for the database to setup" - sleep 30s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then - echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" - echo "waiting 10s for the database to setup" - sleep 10s - echo "starting nexcloud installation" - run_as "php /var/www/html/occ maintenance:install $install_options" - else - echo "running web-based installer on first connect!" + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + else + install_options="$install_options --database-table-prefix \"\"" + fi + if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + fi + + if [ -n "${SQLITE_DATABASE+x}" ]; then + echo "Installing with SQLite database" + install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then + echo "Installing with MySQL database" + install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + echo "waiting 30s for the database to setup" + sleep 30s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then + echo "Installing with PostgreSQL database" + install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + echo "waiting 10s for the database to setup" + sleep 10s + echo "starting nexcloud installation" + run_as "php /var/www/html/occ maintenance:install $install_options" + else + echo "running web-based installer on first connect!" + fi fi + #upgrade + else + run_as 'php /var/www/html/occ upgrade' + + run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after + echo "The following apps have been disabled:" + diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 + rm -f /tmp/list_before /tmp/list_after + fi - #upgrade - else - run_as 'php /var/www/html/occ upgrade' - - run_as 'php /var/www/html/occ app:list' | sed -n "/Enabled:/,/Disabled:/p" > /tmp/list_after - echo "The following apps have been disabled:" - diff /tmp/list_before /tmp/list_after | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi fi From bdc2d3e6103af64c284ebc849e4bcfd65446179e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Fri, 14 Sep 2018 08:25:49 +0200 Subject: [PATCH 4/7] fix regex for apache --- 12.0/apache/entrypoint.sh | 2 +- 12.0/fpm-alpine/entrypoint.sh | 2 +- 12.0/fpm/entrypoint.sh | 2 +- 13.0/apache/entrypoint.sh | 2 +- 13.0/fpm-alpine/entrypoint.sh | 2 +- 13.0/fpm/entrypoint.sh | 2 +- 14.0/apache/entrypoint.sh | 2 +- 14.0/fpm-alpine/entrypoint.sh | 2 +- 14.0/fpm/entrypoint.sh | 2 +- docker-entrypoint.sh | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index dd019a8..8e74897 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index dd019a8..8e74897 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index dd019a8..8e74897 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index dd019a8..8e74897 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index dd019a8..8e74897 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index dd019a8..8e74897 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index dd019a8..8e74897 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index dd019a8..8e74897 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index dd019a8..8e74897 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index dd019a8..8e74897 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -19,7 +19,7 @@ run_as() { fi } -if expr "$1" : "apache*" 1>/dev/null || [ "$1" = "php-fpm" ]; then +if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 From 45bf61d190fffd174b1effa3b0d211219ebd1fff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Fri, 14 Sep 2018 08:26:57 +0200 Subject: [PATCH 5/7] remove admin password and user name from autoconfig --- .config/autoconfig.php | 5 ----- 12.0/apache/config/autoconfig.php | 5 ----- 12.0/fpm-alpine/config/autoconfig.php | 5 ----- 12.0/fpm/config/autoconfig.php | 5 ----- 13.0/apache/config/autoconfig.php | 5 ----- 13.0/fpm-alpine/config/autoconfig.php | 5 ----- 13.0/fpm/config/autoconfig.php | 5 ----- 14.0/apache/config/autoconfig.php | 5 ----- 14.0/fpm-alpine/config/autoconfig.php | 5 ----- 14.0/fpm/config/autoconfig.php | 5 ----- 10 files changed, 50 deletions(-) diff --git a/.config/autoconfig.php b/.config/autoconfig.php index b759f4d..85e0221 100644 --- a/.config/autoconfig.php +++ b/.config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/12.0/apache/config/autoconfig.php b/12.0/apache/config/autoconfig.php index b759f4d..85e0221 100644 --- a/12.0/apache/config/autoconfig.php +++ b/12.0/apache/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/12.0/fpm-alpine/config/autoconfig.php b/12.0/fpm-alpine/config/autoconfig.php index b759f4d..85e0221 100644 --- a/12.0/fpm-alpine/config/autoconfig.php +++ b/12.0/fpm-alpine/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/12.0/fpm/config/autoconfig.php b/12.0/fpm/config/autoconfig.php index b759f4d..85e0221 100644 --- a/12.0/fpm/config/autoconfig.php +++ b/12.0/fpm/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/13.0/apache/config/autoconfig.php b/13.0/apache/config/autoconfig.php index b759f4d..85e0221 100644 --- a/13.0/apache/config/autoconfig.php +++ b/13.0/apache/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/13.0/fpm-alpine/config/autoconfig.php b/13.0/fpm-alpine/config/autoconfig.php index b759f4d..85e0221 100644 --- a/13.0/fpm-alpine/config/autoconfig.php +++ b/13.0/fpm-alpine/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/13.0/fpm/config/autoconfig.php b/13.0/fpm/config/autoconfig.php index b759f4d..85e0221 100644 --- a/13.0/fpm/config/autoconfig.php +++ b/13.0/fpm/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/14.0/apache/config/autoconfig.php b/14.0/apache/config/autoconfig.php index b759f4d..85e0221 100644 --- a/14.0/apache/config/autoconfig.php +++ b/14.0/apache/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/14.0/fpm-alpine/config/autoconfig.php b/14.0/fpm-alpine/config/autoconfig.php index b759f4d..85e0221 100644 --- a/14.0/fpm-alpine/config/autoconfig.php +++ b/14.0/fpm-alpine/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } diff --git a/14.0/fpm/config/autoconfig.php b/14.0/fpm/config/autoconfig.php index b759f4d..85e0221 100644 --- a/14.0/fpm/config/autoconfig.php +++ b/14.0/fpm/config/autoconfig.php @@ -26,9 +26,4 @@ if ($autoconfig_enabled) { $AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: ""; $AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data"; - - if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) { - $AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER'); - $AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD'); - } } From dbadf5520b34f1c420fa034892ca7e5760e8f136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Br=C3=BCckner?= Date: Thu, 27 Sep 2018 09:58:47 +0200 Subject: [PATCH 6/7] fixed expansion of environment variables --- 12.0/apache/entrypoint.sh | 16 ++++++++-------- 12.0/fpm-alpine/entrypoint.sh | 16 ++++++++-------- 12.0/fpm/entrypoint.sh | 16 ++++++++-------- 13.0/apache/entrypoint.sh | 16 ++++++++-------- 13.0/fpm-alpine/entrypoint.sh | 16 ++++++++-------- 13.0/fpm/entrypoint.sh | 16 ++++++++-------- 14.0/apache/entrypoint.sh | 16 ++++++++-------- 14.0/fpm-alpine/entrypoint.sh | 16 ++++++++-------- 14.0/fpm/entrypoint.sh | 16 ++++++++-------- docker-entrypoint.sh | 16 ++++++++-------- 10 files changed, 80 insertions(+), 80 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index 8e74897..aa40a11 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index 8e74897..aa40a11 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index 8e74897..aa40a11 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index 8e74897..aa40a11 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index 8e74897..aa40a11 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index 8e74897..aa40a11 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index 8e74897..aa40a11 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index 8e74897..aa40a11 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index 8e74897..aa40a11 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 8e74897..aa40a11 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -13,7 +13,7 @@ directory_empty() { run_as() { if [ "$(id -u)" = 0 ]; then - su - www-data -s /bin/sh -c "$1" + su -p www-data -s /bin/sh -c "$1" else sh -c "$1" fi @@ -55,30 +55,30 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then echo "New nextcloud instance" if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then - install_options="-n --admin-user \"$NEXTCLOUD_ADMIN_USER\" --admin-pass \"$NEXTCLOUD_ADMIN_PASSWORD\"" + install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then - install_options="$install_options --database-table-prefix \"$NEXTCLOUD_TABLE_PREFIX\"" + install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else - install_options="$install_options --database-table-prefix \"\"" + install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then - install_options="$install_options --data-dir \"$NEXTCLOUD_DATA_DIR\"" + install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" - install_options="$install_options --database-name \"$SQLITE_DATABASE\"" + install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" - install_options="$install_options --database mysql --database-name \"$MYSQL_DATABASE\" --database-user \"$MYSQL_USER\" --database-pass \"$MYSQL_PASSWORD\" --database-host \"$MYSQL_HOST\"" + install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s echo "starting nexcloud installation" run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" - install_options="$install_options --database pgsql --database-name \"$POSTGRES_DB\" --database-user \"$POSTGRES_USER\" --database-pass \"$POSTGRES_PASSWORD\" --database-host \"$POSTGRES_HOST\"" + install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s echo "starting nexcloud installation" From 6b10932e81bcbe8991d341a92e196219e347cde5 Mon Sep 17 00:00:00 2001 From: Tilo Spannagel Date: Thu, 27 Sep 2018 12:53:14 +0200 Subject: [PATCH 7/7] Ignore shellcheck errors Signed-off-by: Tilo Spannagel --- 12.0/apache/entrypoint.sh | 10 ++++++++-- 12.0/fpm-alpine/entrypoint.sh | 10 ++++++++-- 12.0/fpm/entrypoint.sh | 10 ++++++++-- 13.0/apache/entrypoint.sh | 10 ++++++++-- 13.0/fpm-alpine/entrypoint.sh | 10 ++++++++-- 13.0/fpm/entrypoint.sh | 10 ++++++++-- 14.0/apache/entrypoint.sh | 10 ++++++++-- 14.0/fpm-alpine/entrypoint.sh | 10 ++++++++-- 14.0/fpm/entrypoint.sh | 10 ++++++++-- docker-entrypoint.sh | 10 ++++++++-- 10 files changed, 80 insertions(+), 20 deletions(-) diff --git a/12.0/apache/entrypoint.sh b/12.0/apache/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/12.0/apache/entrypoint.sh +++ b/12.0/apache/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/12.0/fpm-alpine/entrypoint.sh b/12.0/fpm-alpine/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/12.0/fpm-alpine/entrypoint.sh +++ b/12.0/fpm-alpine/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/12.0/fpm/entrypoint.sh b/12.0/fpm/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/12.0/fpm/entrypoint.sh +++ b/12.0/fpm/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/13.0/apache/entrypoint.sh b/13.0/apache/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/13.0/apache/entrypoint.sh +++ b/13.0/apache/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/13.0/fpm-alpine/entrypoint.sh b/13.0/fpm-alpine/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/13.0/fpm-alpine/entrypoint.sh +++ b/13.0/fpm-alpine/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/13.0/fpm/entrypoint.sh b/13.0/fpm/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/13.0/fpm/entrypoint.sh +++ b/13.0/fpm/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/14.0/apache/entrypoint.sh b/14.0/apache/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/14.0/apache/entrypoint.sh +++ b/14.0/apache/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/14.0/fpm-alpine/entrypoint.sh b/14.0/fpm-alpine/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/14.0/fpm-alpine/entrypoint.sh +++ b/14.0/fpm-alpine/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/14.0/fpm/entrypoint.sh b/14.0/fpm/entrypoint.sh index aa40a11..f6c5d47 100755 --- a/14.0/fpm/entrypoint.sh +++ b/14.0/fpm/entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index aa40a11..f6c5d47 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -53,24 +53,29 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then #install if [ "$installed_version" = "0.0.0.0" ]; then echo "New nextcloud instance" - + if [ -n "${NEXTCLOUD_ADMIN_USER+x}" ] && [ -n "${NEXTCLOUD_ADMIN_PASSWORD+x}" ]; then + # shellcheck disable=SC2016 install_options='-n --admin-user "$NEXTCLOUD_ADMIN_USER" --admin-pass "$NEXTCLOUD_ADMIN_PASSWORD"' if [ -n "${NEXTCLOUD_TABLE_PREFIX+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --database-table-prefix "$NEXTCLOUD_TABLE_PREFIX"' else install_options=$install_options' --database-table-prefix ""' fi if [ -n "${NEXTCLOUD_DATA_DIR+x}" ]; then + # shellcheck disable=SC2016 install_options=$install_options' --data-dir "$NEXTCLOUD_DATA_DIR"' fi - + if [ -n "${SQLITE_DATABASE+x}" ]; then echo "Installing with SQLite database" + # shellcheck disable=SC2016 install_options=$install_options' --database-name "$SQLITE_DATABASE"' run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${MYSQL_DATABASE+x}" ] && [ -n "${MYSQL_USER+x}" ] && [ -n "${MYSQL_PASSWORD+x}" ] && [ -n "${MYSQL_HOST+x}" ]; then echo "Installing with MySQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database mysql --database-name "$MYSQL_DATABASE" --database-user "$MYSQL_USER" --database-pass "$MYSQL_PASSWORD" --database-host "$MYSQL_HOST"' echo "waiting 30s for the database to setup" sleep 30s @@ -78,6 +83,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ]; then run_as "php /var/www/html/occ maintenance:install $install_options" elif [ -n "${POSTGRES_DB+x}" ] && [ -n "${POSTGRES_USER+x}" ] && [ -n "${POSTGRES_PASSWORD+x}" ] && [ -n "${POSTGRES_HOST+x}" ]; then echo "Installing with PostgreSQL database" + # shellcheck disable=SC2016 install_options=$install_options' --database pgsql --database-name "$POSTGRES_DB" --database-user "$POSTGRES_USER" --database-pass "$POSTGRES_PASSWORD" --database-host "$POSTGRES_HOST"' echo "waiting 10s for the database to setup" sleep 10s