diff options
author | Tobias K <6317548+theCalcaholic@users.noreply.github.com> | 2021-08-03 00:49:40 +0300 |
---|---|---|
committer | nachoparker <nacho@ownyourbits.com> | 2021-08-10 02:16:35 +0300 |
commit | e49203249b8842e3586c7893ab59fd1bf779da20 (patch) | |
tree | 68d35f8407b598c68f9af16377d8a16b1325b2a3 | |
parent | b8a990e264a34f3d47c3365bcdf67efd6f974132 (diff) |
nextcloud.conf.sh: Allow any user name for metrics endpoint and fix docker buildv1.37.4
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
nextcloud.conf.sh: Fix apps overwriting each other during templating
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
nextcloud.conf.sh: Make --default mode failsafe (don't expect apps to be installed)
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
nextcloud.conf.sh: Allow any user name for metrics endpoint
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
nextcloudpi/Dockerfile: Copy the templates directory to the container
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
lamp/Dockerfile: Copy the templates directory to the container
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
install.sh: Ensure templates are available before executing nc-nextcloud.sh
Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
-rw-r--r-- | bin/ncp/CONFIG/nc-nextcloud.sh | 4 | ||||
-rw-r--r-- | bin/ncp/NETWORKING/letsencrypt.sh | 3 | ||||
-rw-r--r-- | docker/nextcloud/Dockerfile | 1 | ||||
-rw-r--r-- | etc/ncp-templates/nextcloud.conf.sh | 29 | ||||
-rw-r--r-- | install.sh | 1 |
5 files changed, 24 insertions, 14 deletions
diff --git a/bin/ncp/CONFIG/nc-nextcloud.sh b/bin/ncp/CONFIG/nc-nextcloud.sh index fa522a57..f9e2c0c1 100644 --- a/bin/ncp/CONFIG/nc-nextcloud.sh +++ b/bin/ncp/CONFIG/nc-nextcloud.sh @@ -175,9 +175,9 @@ EOF ## SET APACHE VHOST echo "Setting up Apache..." - bash /usr/local/etc/nextcloud.conf.sh > /etc/apache2/sites-available/nextcloud.conf || { + bash /usr/local/etc/ncp-templates/nextcloud.conf.sh > /etc/apache2/sites-available/nextcloud.conf || { echo "ERROR: An error occured while generating the nextcloud apache2 config. Attempting safe mode..." - bash /usr/local/etc/nextcloud.conf.sh --defaults > /etc/apache2/sites-available/nextcloud.conf || { + bash /usr/local/etc/ncp-templates/nextcloud.conf.sh --defaults > /etc/apache2/sites-available/nextcloud.conf || { echo "ERROR: Safe mode templating failed as well. Nextcloud will not work." exit 1 } diff --git a/bin/ncp/NETWORKING/letsencrypt.sh b/bin/ncp/NETWORKING/letsencrypt.sh index 9b5df324..c40a4fa9 100644 --- a/bin/ncp/NETWORKING/letsencrypt.sh +++ b/bin/ncp/NETWORKING/letsencrypt.sh @@ -21,8 +21,7 @@ is_active() tmpl_letsencrypt_domain() { ( . /usr/local/etc/library.sh - if is_active - then + if is_active; then find_app_param letsencrypt DOMAIN fi ) diff --git a/docker/nextcloud/Dockerfile b/docker/nextcloud/Dockerfile index 225fef13..e3918122 100644 --- a/docker/nextcloud/Dockerfile +++ b/docker/nextcloud/Dockerfile @@ -13,6 +13,7 @@ ENV DOCKERBUILD 1 COPY etc/library.sh /usr/local/etc/ COPY bin/ncp/CONFIG/nc-nextcloud.sh / COPY etc/ncp-config.d/nc-nextcloud.cfg /usr/local/etc/ncp-config.d/ +COPY etc/ncp-templates /usr/local/etc/ncp-templates RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt \ set -e; \ diff --git a/etc/ncp-templates/nextcloud.conf.sh b/etc/ncp-templates/nextcloud.conf.sh index 93420f79..a3c4e8c1 100644 --- a/etc/ncp-templates/nextcloud.conf.sh +++ b/etc/ncp-templates/nextcloud.conf.sh @@ -2,13 +2,24 @@ set -e source /usr/local/etc/library.sh -source "${BINDIR}/NETWORKING/letsencrypt.sh" -if [[ "$DOCKERBUILD" == 1 ]] -then +if [[ "$1" != "--defaults" ]]; then + LETSENCRYPT_DOMAIN="$( + # force defaults during initial build + if ! [[ -f /.ncp-image ]]; then + source "${BINDIR}/NETWORKING/letsencrypt.sh" + tmpl_letsencrypt_domain + fi + )" +fi + +if [[ "$DOCKERBUILD" != 1 ]] && [[ "$1" != "--defaults" ]]; then + METRICS_IS_ENABLED="$( source "${BINDIR}/SYSTEM/metrics.sh" + tmpl_metrics_enabled && echo yes || echo no + )" else - tmpl_metrics_enabled(){ return 1; } + METRICS_IS_ENABLED=no fi echo "### DO NOT EDIT! THIS FILE HAS BEEN AUTOMATICALLY GENERATED. CHANGES WILL BE OVERWRITTEN ###" @@ -20,9 +31,7 @@ cat <<EOF DocumentRoot /var/www/nextcloud EOF -LETSENCRYPT_DOMAIN="$(tmpl_letsencrypt_domain)" -if [[ "$1" != "--defaults" ]] && [[ -n "$LETSENCRYPT_DOMAIN" ]] -then +if [[ "$1" != "--defaults" ]] && [[ -n "$LETSENCRYPT_DOMAIN" ]]; then echo " ServerName ${LETSENCRYPT_DOMAIN}" LETSENCRYPT_CERT_BASE_PATH="/etc/letsencrypt/live/${LETSENCRYPT_DOMAIN,,}" LETSENCRYPT_CERT_PATH="${LETSENCRYPT_CERT_BASE_PATH}/fullchain.pem" @@ -41,7 +50,7 @@ cat <<EOF SSLCertificateKeyFile ${LETSENCRYPT_KEY_PATH:-/etc/ssl/private/ssl-cert-snakeoil.key} EOF -if [[ "$1" != "--defaults" ]] && tmpl_metrics_enabled +if [[ "$1" != "--defaults" ]] && [[ "$METRICS_IS_ENABLED" == yes ]] then cat <<EOF @@ -58,7 +67,7 @@ then <RequireAll> <RequireAny> Require host localhost - Require user metrics + Require valid-user </RequireAny> </RequireAll> @@ -84,4 +93,4 @@ cat <<EOF </IfModule> EOF -apache2ctl -t
\ No newline at end of file +apache2ctl -t @@ -54,6 +54,7 @@ cp etc/ncp-config.d/nc-nextcloud.cfg /usr/local/etc/ncp-config.d/ cp etc/library.sh /usr/local/etc/ cp etc/ncp.cfg /usr/local/etc/ +cp -r etc/ncp-templates /usr/local/etc/ install_app lamp.sh install_app bin/ncp/CONFIG/nc-nextcloud.sh run_app_unsafe bin/ncp/CONFIG/nc-nextcloud.sh |