From c459639ef8b2b1ee28ac40ceaebe37e666b5ffb3 Mon Sep 17 00:00:00 2001 From: Nick Yeoman Date: Fri, 26 Jul 2024 12:58:52 -0700 Subject: [PATCH] Bookstack, test works --- _builder/dc-env.sh | 31 ++++++++----------------------- _builder/parse.bash | 1 + bookstack/docker-compose.yml | 17 ++++++++--------- builder.bash | 4 ++-- mariadb/docker-compose.yml | 8 ++++---- 5 files changed, 23 insertions(+), 38 deletions(-) diff --git a/_builder/dc-env.sh b/_builder/dc-env.sh index 5c211da..02393e2 100644 --- a/_builder/dc-env.sh +++ b/_builder/dc-env.sh @@ -7,31 +7,16 @@ process_env_vars() { # Loop through each environment variable while IFS= read -r env_var; do - # Split into name and value parts based on '=' - var_name="${env_var%%=*}" # Variable name - var_value="${env_var#*=}" # Variable value + # Split into name and value parts based on ':' + var_name="${env_var%%:*}" # Variable name + var_value="${env_var#*:}" # Variable value - # Handle variables without existing braces (not previously processed) - if [[ "$var_value" != *'${'* ]]; then - modified_var="${var_name}: \${${APP_NAME}_${var_name}:-${var_value}}" - else - # Handle variables already having ${} and possible default - ref_var="${var_value#\$\{}" - ref_var="${ref_var%%[:-]*}" + # Remove leading and trailing whitespace + var_name=$(echo "$var_name" | xargs) + var_value=$(echo "$var_value" | xargs) - # Extract the default value part - default_value="${var_value##*:-}" - default_value="${default_value%\}}" - - # Check if the reference variable already contains APP_NAME_ prefix - if [[ "$ref_var" == ${APP_NAME}_* ]]; then - # Use the reference variable as is if it already contains the prefix - modified_var="${var_name}: \${${ref_var}:-${default_value}}" - else - # Add APP_NAME_ prefix to reference variable - modified_var="${var_name}: \${${APP_NAME}_${ref_var}:-${default_value}}" - fi - fi + # Format the variable as required + modified_var="${var_name}=\${${APP_NAME}_${var_name}:-${var_value}}" # Append the modified variable to results results+=("$modified_var") diff --git a/_builder/parse.bash b/_builder/parse.bash index 6b3654c..977523c 100644 --- a/_builder/parse.bash +++ b/_builder/parse.bash @@ -20,6 +20,7 @@ get_env_vars() { echo "$env_vars" } + get_image() { local compose_content="$1" local images="" diff --git a/bookstack/docker-compose.yml b/bookstack/docker-compose.yml index 7b44526..6e12b74 100644 --- a/bookstack/docker-compose.yml +++ b/bookstack/docker-compose.yml @@ -5,16 +5,15 @@ services: image: ${BOOKSTACK_IMAGE:-solidnerd/bookstack:latest} restart: unless-stopped environment: - - APP_KEY: ${BOOKSTACK_APP_KEY:-APP_KEY} - - APP_TIMEZONE: ${BOOKSTACK_APP_TIMEZONE:-America/Vancouver} - - APP_URL: ${BOOKSTACK_APP_URL:-http://localhost:8248} - - DB_DATABASE: ${BOOKSTACK_DB_DATABASE:-dbname} - - DB_HOST: ${BOOKSTACK_DB_HOST:-bookstack-mariadb:3306} - - DB_PASSWORD: ${BOOKSTACK_DB_PASSWORD:-dbpass} - - DB_USERNAME: ${BOOKSTACK_DB_USERNAME:-dbuser} - - REVISION_LIMIT: ${BOOKSTACK_REVISION_LIMIT:-false} + - APP_KEY=${BOOKSTACK_APP_KEY:-APP_KEY} + - APP_TIMEZONE=${BOOKSTACK_APP_TIMEZONE:-America/Vancouver} + - APP_URL=${BOOKSTACK_APP_URL:-http://localhost:8080} + - DB_DATABASE=${BOOKSTACK_DB_DATABASE:-dbname} + - DB_HOST=${BOOKSTACK_DB_HOST:-bookstack-mariadb:3306} + - DB_PASSWORD=${BOOKSTACK_DB_PASSWORD:-dbpass} + - DB_USERNAME=${BOOKSTACK_DB_USERNAME:-dbuser} + - REVISION_LIMIT=${BOOKSTACK_REVISION_LIMIT:-false} volumes: - ${VOL_CONFIG_PATH:-./config}/php.ini:/usr/local/etc/php/php.ini - ${VOL_PATH:-./data}/storage:/var/www/bookstack/storage/uploads - ${VOL_PATH:-./data}/uploads:/var/www/bookstack/public/uploads - - /etc/timezone:/etc/timezone:ro diff --git a/builder.bash b/builder.bash index 83559bd..19f9e66 100644 --- a/builder.bash +++ b/builder.bash @@ -58,10 +58,10 @@ BLDR_DC_VOLS=$(process_volumes "$BLDR_DC_VOLS") # Clean up ENV ################################################ source ./_builder/dc-env.sh -# echo "*** Pre process **" +# echo "The Input: " # echo "$BLDR_DC_ENV" BLDR_DC_ENV=$(process_env_vars "$BLDR_DC_ENV" "$BLDR_APP") -# echo "*** Post **" +# echo "The Output: " # echo "$BLDR_DC_ENV" # exit diff --git a/mariadb/docker-compose.yml b/mariadb/docker-compose.yml index 0b9b4f0..084000d 100644 --- a/mariadb/docker-compose.yml +++ b/mariadb/docker-compose.yml @@ -5,9 +5,9 @@ services: image: ${MARIADB_IMAGE:-mariadb:latest} restart: unless-stopped environment: - - MARIADB_DATABASE: ${MARIADB_MARIADB_DATABASE:-mydb} - - MARIADB_PASSWORD: ${MARIADB_MARIADB_PASSWORD:-AlsoChangeThisPassword} - - MARIADB_ROOT_PASSWORD: ${MARIADB_MARIADB_ROOT_PASSWORD:-ChangeThisPassword} - - MARIADB_USER: ${MARIADB_MARIADB_USER:-dbuser} + - MARIADB_DATABASE=${MARIADB_MARIADB_DATABASE:-mydb} + - MARIADB_PASSWORD=${MARIADB_MARIADB_PASSWORD:-AlsoChangeThisPassword} + - MARIADB_ROOT_PASSWORD=${MARIADB_MARIADB_ROOT_PASSWORD:-ChangeThisPassword} + - MARIADB_USER=${MARIADB_MARIADB_USER:-dbuser} volumes: - ${VOL_PATH:-./data/}mariadb_data:/var/lib/mysql