From a5457a164c46eea91e1e85c5a8103ca083c68029 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 1 Jul 2022 11:21:44 +0200 Subject: [PATCH] custom conf - init setting support --- CHANGELOG.md | 8 ++++++-- helpers/entrypoint.sh | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 964bc6e2b..375ff422f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## v1.4.2 - +## v1.4.3 - + +- Add \*_CUSTOM_CONF_\* setting to automatically add custom config files from setting value + +## v1.4.2 - 2022/06/28 - Fix "too old resource version" exceptions when using k8s integration - Fix missing bwcli command with Linux integration @@ -17,7 +21,7 @@ - Add Discord and Slack to list of official plugins - Force NGINX version dependencies in Linux packages DEB/RPM -## v1.4.1 - 2022/16/06 +## v1.4.1 - 2022/06/16 - Fix sending local IPs to BunkerNet when DISABLE_DEFAULT_SERVER=yes - Fix certbot bug when AUTOCONF_MODE=yes diff --git a/helpers/entrypoint.sh b/helpers/entrypoint.sh index 6dd13d760..42cea970a 100644 --- a/helpers/entrypoint.sh +++ b/helpers/entrypoint.sh @@ -45,6 +45,21 @@ if [ -f /opt/bunkerweb/tmp/scheduler.pid ] ; then fi if [ "$SWARM_MODE" != "yes" ] && [ "$KUBERNETES_MODE" != "yes" ] && [ "$AUTOCONF_MODE" != "yes" ] ; then + # extract and drop configs + for var_name in $(compgen -v) ; do + extracted=$(echo "$var_name" | | sed -r 's/^([a-z\.\-]*)_?CUSTOM_CONF_(HTTP|DEFAULT_SERVER_HTTP|SERVER_HTTP|MODSEC|MODSEC_CRS)_(.*)$/\1 \2 \3/g') + site=$(echo "$extracted" | cut -d ' ' -f 1) + type=$(echo "$extracted" | cut -d ' ' -f 2 | tr '[:upper:]' '[:lower:]' | sed 's/_/-/') + name=$(echo "$extracted" | cut -d ' ' -f 3) + if [ "$type" = "" ] ; then + continue + fi + if [ "$site" != "" ] && [ ! -d "/data/configs/${type}/${site}" ] ; then + mkdir "/data/configs/${type}/${site}" + fi + echo "${!var_name}" > "/data/configs/${type}/${site}/${name}.conf" + done + # execute temp nginx with no server export TEMP_NGINX="yes" log "ENTRYPOINT" "ℹ️" "Generating configuration for temp nginx ..."