diff --git a/bin/ncp/CONFIG/nc-datadir.sh b/bin/ncp/CONFIG/nc-datadir.sh index df7869b1..d2658edb 100644 --- a/bin/ncp/CONFIG/nc-datadir.sh +++ b/bin/ncp/CONFIG/nc-datadir.sh @@ -21,13 +21,13 @@ install() } tmpl_opcache_dir() { - DATADIR="$(get_nc_config_value datadirectory)" + DATADIR="$(get_nc_config_value datadirectory || find_app_param nc-datadir DATADIR)" echo -n "${DATADIR}/.opcache" #[[ $( stat -fc%d / ) == $( stat -fc%d "$DATADIR" ) ]] && echo "/tmp" || echo "${DATADIR}/.opcache" } tmpl_tmp_upload_dir() { - DATADIR="$(get_nc_config_value datadirectory)" + DATADIR="$(get_nc_config_value datadirectory || find_app_param nc-datadir DATADIR)" echo -n "${DATADIR}/tmp" } @@ -101,7 +101,7 @@ configure() ## COPY cd /var/www/nextcloud - save_maintenance_mode + [[ "$BUILD_MODE" == 1 ]] || save_maintenance_mode echo "moving data directory from ${SRCDIR} to ${BASEDIR}..." @@ -124,13 +124,17 @@ configure() chown www-data: "${DATADIR}" # datadir - sed -i "s|'datadirectory' =>.*|'datadirectory' => '${DATADIR}',|" "${NCDIR?}"/config/config.php - ncc config:system:set logfile --value="${DATADIR}/nextcloud.log" + ncc config:system:set datadirectory --value="${DATADIR}" \ + || sed -i "s|'datadirectory' =>.*|'datadirectory' => '${DATADIR}',|" "${NCDIR?}"/config/config.php + + ncc config:system:set logfile --value="${DATADIR}/nextcloud.log" \ + || sed -i "s|'logfile' =>.*|'logfile' => '${DATADIR}/nextcloud.log',|" "${NCDIR?}"/config/config.php set_ncpcfg datadir "${DATADIR}" # tmp upload dir create_tmp_upload_dir - ncc config:system:set tempdirectory --value "$DATADIR/tmp" + ncc config:system:set tempdirectory --value "$DATADIR/tmp" \ + || sed -i "s|'tempdirectory' =>.*|'tempdirectory' => '${DATADIR}/tmp',|" "${NCDIR?}"/config/config.php sed -i "s|^;\?upload_tmp_dir =.*$|uploadtmp_dir = ${DATADIR}/tmp|" /etc/php/"${PHPVER?}"/cli/php.ini sed -i "s|^;\?upload_tmp_dir =.*$|upload_tmp_dir = ${DATADIR}/tmp|" /etc/php/"${PHPVER}"/fpm/php.ini sed -i "s|^;\?sys_temp_dir =.*$|sys_temp_dir = ${DATADIR}/tmp|" /etc/php/"${PHPVER}"/fpm/php.ini @@ -143,7 +147,7 @@ configure() [[ -f /etc/fail2ban/jail.local ]] && \ sed -i "s|logpath =.*nextcloud.log|logpath = ${DATADIR}/nextcloud.log|" /etc/fail2ban/jail.local - restore_maintenance_mode + [[ "$BUILD_MODE" == 1 ]] || restore_maintenance_mode ( . "${BINDIR?}/SYSTEM/metrics.sh" diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile index 7d9351a0..2d7a6795 100644 --- a/build/docker/Dockerfile +++ b/build/docker/Dockerfile @@ -144,7 +144,7 @@ COPY ncp-previewgenerator /tmp/ncp-build/ncp-previewgenerator/ COPY build/docker /tmp/ncp-build/build/docker/ COPY ncp.sh update.sh post-inst.sh /tmp/ncp-build/ COPY etc/ncp-config.d/nc-init.cfg /usr/local/etc/ncp-config.d/nc-init-copy.cfg -COPY etc/ncp-config.d/nc-datadir.cfg /usr/local/etc/ncp-config.d/nc-datadir.cfg +COPY etc/ncp-config.d/nc-datadir.cfg /usr/local/etc/ncp-config.d/nc-datadir-copy.cfg RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \ set -e; \ @@ -168,13 +168,14 @@ install_app ncp.sh; \ mv /usr/local/etc/ncp-config.d/nc-init-copy.cfg /usr/local/etc/ncp-config.d/nc-init.cfg; \ run_app_unsafe bin/ncp/CONFIG/nc-init.sh; \ -echo 'Moving data directory to a more sensible location' \ -mkdir -p /opt/ncdata \ -set_app_param nc-datadir.sh DATADIR '/data-ro/ncdata' \ -run_app_unsafe bin/ncp/CONFIG/nc-datadir.sh \ -set_app_param nc-datadir.sh DATADIR '/data/ncdata' \ +echo 'Moving data directory to a more sensible location'; \ +mv /usr/local/etc/ncp-config.d/nc-datadir-copy.cfg /usr/local/etc/ncp-config.d/nc-datadir.cfg; \ +mkdir -p /data-ro/ncdata; \ +set_app_param nc-datadir.sh DATADIR '/data-ro/ncdata'; \ +BUILD_MODE=1 DISABLE_FS_CHECK=1 run_app_unsafe bin/ncp/CONFIG/nc-datadir.sh; \ +set_app_param nc-datadir.sh DATADIR '/data/ncdata'; \ # Remove nc-datadir.cfg as it's disabled in docker -rm /usr/local/etc/nc-datadir.cfg \ +rm /usr/local/etc/ncp-config.d/nc-datadir.cfg; \ sed -i 's|data-ro|data|' /data-ro/nextcloud/config/config.php; \ # fix default paths