From 61861cc227af847a01ccfae6a39369e71e40da31 Mon Sep 17 00:00:00 2001 From: Saswat Padhi Date: Mon, 30 Sep 2024 14:52:21 -0700 Subject: [PATCH] tweak hooks --- README.md | 9 ++++++- _scripts/test_comp.sh | 2 +- airdcpp/docker-compose.pre_hook.sh | 11 ++++++++ airdcpp/docker-compose.up.pre_hook.sh | 11 -------- ...pre_hook.sh => docker-compose.pre_hook.sh} | 0 comp | 25 +++++++++++++------ docker.sock/docker-compose.up.pre_hook.sh | 6 ----- gitea/docker-compose.pre_hook.sh | 9 +++++++ gitea/docker-compose.up.pre_hook.sh | 3 --- ...pre_hook.sh => docker-compose.pre_hook.sh} | 4 +-- indexarr/docker-compose.pre_hook.sh | 10 ++++++++ indexarr/docker-compose.up.pre_hook.sh | 4 --- influxdb/docker-compose.pre_hook.sh | 10 ++++++++ influxdb/docker-compose.up.pre_hook.sh | 4 --- ...pre_hook.sh => docker-compose.pre_hook.sh} | 2 +- monitarr/docker-compose.pre_hook.sh | 16 ++++++++++++ monitarr/docker-compose.up.pre_hook.sh | 10 -------- ...pre_hook.sh => docker-compose.pre_hook.sh} | 4 +-- nextcloud/docker-compose.pre_hook.sh | 13 ++++++++++ nextcloud/docker-compose.up.pre_hook.sh | 13 +++------- ...pre_hook.sh => docker-compose.pre_hook.sh} | 0 ...pre_hook.sh => docker-compose.pre_hook.sh} | 0 ...pre_hook.sh => docker-compose.pre_hook.sh} | 2 +- teslamate/docker-compose.pre_hook.sh | 11 ++++++++ teslamate/docker-compose.up.pre_hook.sh | 11 -------- traefik/docker-compose.pre_hook.sh | 9 +++++++ traefik/docker-compose.up.pre_hook.sh | 3 --- ...pre_hook.sh => docker-compose.pre_hook.sh} | 0 28 files changed, 124 insertions(+), 78 deletions(-) create mode 100755 airdcpp/docker-compose.pre_hook.sh delete mode 100755 airdcpp/docker-compose.up.pre_hook.sh rename certbot/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (100%) delete mode 100755 docker.sock/docker-compose.up.pre_hook.sh create mode 100755 gitea/docker-compose.pre_hook.sh rename hass/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (67%) create mode 100755 indexarr/docker-compose.pre_hook.sh create mode 100755 influxdb/docker-compose.pre_hook.sh rename kodi.db/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (76%) create mode 100755 monitarr/docker-compose.pre_hook.sh rename navidrome/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (64%) create mode 100755 nextcloud/docker-compose.pre_hook.sh rename pihole/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (100%) rename qbittorrent/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (100%) rename tang/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (82%) create mode 100755 teslamate/docker-compose.pre_hook.sh delete mode 100755 teslamate/docker-compose.up.pre_hook.sh create mode 100755 traefik/docker-compose.pre_hook.sh rename unifi/{docker-compose.up.pre_hook.sh => docker-compose.pre_hook.sh} (100%) diff --git a/README.md b/README.md index 54d15eb..b47341e 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Optional setup: ``` 2. For each desired composition, override the: - static and/or dynamic env generators in a similar manner + - additional prerequisite compositions: `pre.override.reqs` - docker service configuration: `docker-compose.override.yml` - docker service hooks: `docker-compose.up.pre_hook.override.01.sh` etc. @@ -1129,6 +1130,9 @@ When deploying, all changes MUST appear in `.gitignore`d files: - see [`dynamic.global.env.sh`](dynamic.global.env.sh) for the default - within each composition: + - `pre.override.reqs` may name _additional_ compositions as prerequisites + - compositions listed in `pre.reqs` cannot be removed, however + - see [`tang/pre.reqs`](tang/pre.reqs) for an example - `options.override.env` may contain overrides for default values of the `{devices|labels|logging|ports}` options - options provided on the command-line may still override `options.override.conf` @@ -1142,8 +1146,11 @@ When deploying, all changes MUST appear in `.gitignore`d files: - `docker-compose.override.{yml|yaml}` may contain overrides for docker compose - modular overrides may also be specified for individual YAML fragment files: `docker-compose.{devices|labels|logging|ports}.override.{yml|yaml}` + - `docker-compose.{pre,post}_hook.override.*.sh` + may define additional hooks to be run before `docker compose` + - see [`nextcloud/docker-compose.pre_hook.sh`](nextcloud/docker-compose.pre_hook.sh) for an example - `docker-compose.{up,down,clean}.{pre,post}_hook.override.*.sh` - may define additional hooks to be run + may define additional verb-specific hooks to be run - see [`monitarr/docker-compose.up.pre_hook.sh`](monitarr/docker-compose.up.pre_hook.sh) for an example #### Subdirectories diff --git a/_scripts/test_comp.sh b/_scripts/test_comp.sh index b653387..dc349c7 100755 --- a/_scripts/test_comp.sh +++ b/_scripts/test_comp.sh @@ -30,7 +30,7 @@ function SETUP () { echo "INPUT: $3" fi - echo "$3" | ./comp $2 >"$COMP_OUT_PATH" 2>"$COMP_ERR_PATH" + ./comp $2 >"$COMP_OUT_PATH" 2>"$COMP_ERR_PATH" <<<"$3" COMP_EXIT_CODE=$? if [ -n "$DEBUG" ]; then echo "\$COMP_ERR_PATH contents:" diff --git a/airdcpp/docker-compose.pre_hook.sh b/airdcpp/docker-compose.pre_hook.sh new file mode 100755 index 0000000..bb568bc --- /dev/null +++ b/airdcpp/docker-compose.pre_hook.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/airdcpp/config" \ + "$DATA_DIR/airdcpp/downloads" \ + "$DATA_DIR/airdcpp/shared" \ + "$DATA_DIR/openvpn/config" diff --git a/airdcpp/docker-compose.up.pre_hook.sh b/airdcpp/docker-compose.up.pre_hook.sh deleted file mode 100755 index aa1e655..0000000 --- a/airdcpp/docker-compose.up.pre_hook.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -Eumo pipefail - -SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" -DATA_DIR="$SELF_DIR/data" - -mkdir -p $DATA_DIR/airdcpp/config \ - $DATA_DIR/airdcpp/downloads \ - $DATA_DIR/airdcpp/shared \ - $DATA_DIR/openvpn/config diff --git a/certbot/docker-compose.up.pre_hook.sh b/certbot/docker-compose.pre_hook.sh similarity index 100% rename from certbot/docker-compose.up.pre_hook.sh rename to certbot/docker-compose.pre_hook.sh diff --git a/comp b/comp index ae101c7..64a12e8 100755 --- a/comp +++ b/comp @@ -177,9 +177,11 @@ __read_option () { } __run_hooks () { - local stage="$1.$2" + local stage="$1" + [ -z "${2:-}" ] || stage="$1.$2" ls docker-compose."$stage"_hook*.sh &> /dev/null || return 0 - echo "[*] Running '$2' hooks for '$1' ..." + [ -n "${2:-}" ] && echo "[>] Running '$2' hooks for '$1' ..." \ + || echo "[>] Running '$1' hooks ..." if ! ( set -a && source .env && ./docker-compose."$stage"_hook.sh ) ; then __error "HOOK 'docker-compose.${stage}_hook.sh' FAILED!" ; return 1 @@ -257,14 +259,14 @@ do_overrides () { any_override='YES' printf '[G] ' ; realpath -s --relative-to="$(pwd)/.." "$ofile" done < <(find .. -maxdepth 1 -type f -iname '*override*') - [ -n "$any_override" ] || echo '[>] No global override files.' + [ -n "$any_override" ] || echo '[-] No global override files.' any_override='' while IFS= read -r ofile ; do any_override='YES' printf '[L] ' ; realpath -s --relative-to="$(pwd)/.." "$ofile" done < <(find . -maxdepth 1 -type f -iname '*override*') - [ -n "$any_override" ] || echo '[>] No local override files.' + [ -n "$any_override" ] || echo '[-] No local override files.' } do_pull () { @@ -275,7 +277,7 @@ do_pull () { do_status () { __do_prereqs status || return 1 - printf '[s] Querying service:' + printf '[?] Querying service:' for svc in $( "$YQ_CMD" -M '.services | keys | .[]' docker-compose.yml ) ; do echo -n " $svc" if ! ( $DOCKER_COMPOSE_CMD ps "$svc" 2> /dev/null | grep -q healthy ) ; then @@ -508,7 +510,9 @@ perform () { __create_external_networks "${COMPOSE_FILES[@]}" \ || __maybe_fail_fast $EXIT_CODE_SETUP_ERROR || continue __gen_templates \ - || __maybe_fail_fast $EXIT_CODE_SETUP_ERROR || continue + || __maybe_fail_fast $EXIT_CODE_SETUP_ERROR || continue + [ "$OPTION_HOOKS" != "yes" ] || __run_hooks pre \ + || __maybe_fail_fast $EXIT_CODE_PRE_HOOK_SCRIPT_ERROR || continue fi [ "$OPTION_HOOKS" != "yes" ] || __run_hooks "$SIMPLE_VERB" pre \ @@ -522,12 +526,17 @@ perform () { local verb_exit=0 "do_${SIMPLE_VERB}" ; verb_exit=$? - [ "$SIMPLE_VERB" != "validate" ] || [ $verb_exit -ne 0 ] || echo "[>] '$comp' is valid!" - [ "$SIMPLE_VERB" != "status" ] || [ $verb_exit -ne 0 ] || echo "[>] '$comp' is healthy!" + [ "$SIMPLE_VERB" != "validate" ] || [ $verb_exit -ne 0 ] || echo "[=] '$comp' is valid!" + [ "$SIMPLE_VERB" != "status" ] || [ $verb_exit -ne 0 ] || echo "[=] '$comp' is healthy!" [ $verb_exit -eq 0 ] \ || __maybe_fail_fast $EXIT_CODE_SIMPLE_VERB_FAILURE || continue + if __will_invoke_compose "$SIMPLE_VERB" ; then + [ "$OPTION_HOOKS" != "yes" ] || __run_hooks post \ + || __maybe_fail_fast $EXIT_CODE_POST_HOOK_SCRIPT_ERROR || continue + fi + [ "$OPTION_HOOKS" != "yes" ] || __run_hooks "$SIMPLE_VERB" post \ || __maybe_fail_fast $EXIT_CODE_POST_HOOK_SCRIPT_ERROR done diff --git a/docker.sock/docker-compose.up.pre_hook.sh b/docker.sock/docker-compose.up.pre_hook.sh deleted file mode 100755 index d45d066..0000000 --- a/docker.sock/docker-compose.up.pre_hook.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -Eumo pipefail - -SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" -DATA_DIR="$SELF_DIR/data" diff --git a/gitea/docker-compose.pre_hook.sh b/gitea/docker-compose.pre_hook.sh new file mode 100755 index 0000000..3252481 --- /dev/null +++ b/gitea/docker-compose.pre_hook.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/gitea/var/lib/gitea" \ + "$DATA_DIR/gitea/etc/gitea" diff --git a/gitea/docker-compose.up.pre_hook.sh b/gitea/docker-compose.up.pre_hook.sh index 4d4bd7d..ed8cec1 100755 --- a/gitea/docker-compose.up.pre_hook.sh +++ b/gitea/docker-compose.up.pre_hook.sh @@ -5,9 +5,6 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/gitea/var/lib/gitea \ - $DATA_DIR/gitea/etc/gitea - if ! [ -f "$DATA_DIR/gitea/etc/gitea/app.ini" ]; then mkdir -p "$DATA_DIR/gitea/etc/gitea/" cp "$SELF_DIR/generated/gitea/etc/gitea/app.ini" \ diff --git a/hass/docker-compose.up.pre_hook.sh b/hass/docker-compose.pre_hook.sh similarity index 67% rename from hass/docker-compose.up.pre_hook.sh rename to hass/docker-compose.pre_hook.sh index efc9c68..3674b81 100755 --- a/hass/docker-compose.up.pre_hook.sh +++ b/hass/docker-compose.pre_hook.sh @@ -5,5 +5,5 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/hass/config \ - $DATA_DIR/hass/media +mkdir -p "$DATA_DIR/hass/config" \ + "$DATA_DIR/hass/media" diff --git a/indexarr/docker-compose.pre_hook.sh b/indexarr/docker-compose.pre_hook.sh new file mode 100755 index 0000000..f34b678 --- /dev/null +++ b/indexarr/docker-compose.pre_hook.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/jackett/config" \ + "$DATA_DIR/jackett/downloads" \ + "$DATA_DIR/openvpn/config" diff --git a/indexarr/docker-compose.up.pre_hook.sh b/indexarr/docker-compose.up.pre_hook.sh index 01eeba5..7e09745 100755 --- a/indexarr/docker-compose.up.pre_hook.sh +++ b/indexarr/docker-compose.up.pre_hook.sh @@ -5,10 +5,6 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/jackett/config \ - $DATA_DIR/jackett/downloads \ - $DATA_DIR/openvpn/config - if ! [ -f "$DATA_DIR/jackett/config/ServerConfig.json" ]; then cp "$SELF_DIR/generated/jackett/config/ServerConfig.json" \ "$DATA_DIR/jackett/config/ServerConfig.json" diff --git a/influxdb/docker-compose.pre_hook.sh b/influxdb/docker-compose.pre_hook.sh new file mode 100755 index 0000000..07fb09c --- /dev/null +++ b/influxdb/docker-compose.pre_hook.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/influxdb/cert" \ + "$DATA_DIR/influxdb/etc/influxdb2" \ + "$DATA_DIR/influxdb/var/lib/influxdb2" diff --git a/influxdb/docker-compose.up.pre_hook.sh b/influxdb/docker-compose.up.pre_hook.sh index 3a5f8bb..698a136 100755 --- a/influxdb/docker-compose.up.pre_hook.sh +++ b/influxdb/docker-compose.up.pre_hook.sh @@ -5,10 +5,6 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p "$DATA_DIR/influxdb/cert" \ - "$DATA_DIR/influxdb/etc/influxdb2" \ - "$DATA_DIR/influxdb/var/lib/influxdb2" - echo -n "[~] Checking for default certificates: " cd "$DATA_DIR/influxdb/cert" diff --git a/kodi.db/docker-compose.up.pre_hook.sh b/kodi.db/docker-compose.pre_hook.sh similarity index 76% rename from kodi.db/docker-compose.up.pre_hook.sh rename to kodi.db/docker-compose.pre_hook.sh index a30ab27..1ea4b0e 100755 --- a/kodi.db/docker-compose.up.pre_hook.sh +++ b/kodi.db/docker-compose.pre_hook.sh @@ -5,4 +5,4 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/mariadb/var/lib/mysql +mkdir -p "$DATA_DIR/mariadb/var/lib/mysql" diff --git a/monitarr/docker-compose.pre_hook.sh b/monitarr/docker-compose.pre_hook.sh new file mode 100755 index 0000000..c3de26f --- /dev/null +++ b/monitarr/docker-compose.pre_hook.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/lidarr/config" \ + "$DATA_DIR/lidarr/downloads" \ + "$DATA_DIR/lidarr/music" \ + "$DATA_DIR/radarr/config" \ + "$DATA_DIR/radarr/downloads" \ + "$DATA_DIR/radarr/movies" \ + "$DATA_DIR/sonarr/config" \ + "$DATA_DIR/sonarr/downloads" \ + "$DATA_DIR/sonarr/tv" diff --git a/monitarr/docker-compose.up.pre_hook.sh b/monitarr/docker-compose.up.pre_hook.sh index 8691861..e14efaf 100755 --- a/monitarr/docker-compose.up.pre_hook.sh +++ b/monitarr/docker-compose.up.pre_hook.sh @@ -5,16 +5,6 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/lidarr/config \ - $DATA_DIR/lidarr/downloads \ - $DATA_DIR/lidarr/music \ - $DATA_DIR/radarr/config \ - $DATA_DIR/radarr/downloads \ - $DATA_DIR/radarr/movies \ - $DATA_DIR/sonarr/config \ - $DATA_DIR/sonarr/downloads \ - $DATA_DIR/sonarr/tv - if ! [ -f "$DATA_DIR/radarr/config/config.xml" ]; then cp "$SELF_DIR/generated/radarr/config/config.xml" \ "$DATA_DIR/radarr/config/config.xml" diff --git a/navidrome/docker-compose.up.pre_hook.sh b/navidrome/docker-compose.pre_hook.sh similarity index 64% rename from navidrome/docker-compose.up.pre_hook.sh rename to navidrome/docker-compose.pre_hook.sh index 004661b..b90a6f6 100755 --- a/navidrome/docker-compose.up.pre_hook.sh +++ b/navidrome/docker-compose.pre_hook.sh @@ -5,5 +5,5 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/navidrome/data \ - $DATA_DIR/navidrome/music +mkdir -p "$DATA_DIR/navidrome/data" \ + "$DATA_DIR/navidrome/music" diff --git a/nextcloud/docker-compose.pre_hook.sh b/nextcloud/docker-compose.pre_hook.sh new file mode 100755 index 0000000..e444fc0 --- /dev/null +++ b/nextcloud/docker-compose.pre_hook.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/mariadb/var/lib/mysql" \ + "$DATA_DIR/redis/data" \ + "$DATA_DIR/nextcloud/crontabs" \ + "$DATA_DIR/nextcloud/data" \ + "$DATA_DIR/nextcloud/var/www/html" \ + "$DATA_DIR/nextcloud/usr/local/etc/php/conf.d" diff --git a/nextcloud/docker-compose.up.pre_hook.sh b/nextcloud/docker-compose.up.pre_hook.sh index 6d38cbc..0bf6f88 100755 --- a/nextcloud/docker-compose.up.pre_hook.sh +++ b/nextcloud/docker-compose.up.pre_hook.sh @@ -5,16 +5,9 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/mariadb/var/lib/mysql \ - $DATA_DIR/redis/data \ - $DATA_DIR/nextcloud/crontabs \ - $DATA_DIR/nextcloud/data \ - $DATA_DIR/nextcloud/var/www/html \ - $DATA_DIR/nextcloud/usr/local/etc/php/conf.d - # FIXME: Workaround from https://github.com/nextcloud/docker/issues/763#issuecomment-1007447212 -touch $DATA_DIR/nextcloud/usr/local/etc/php/conf.d/redis-session.ini +touch "$DATA_DIR/nextcloud/usr/local/etc/php/conf.d/redis-session.ini" # FIXME: Workaround from https://github.com/nextcloud/docker/issues/1494#issuecomment-1213540687 -mkdir -p $DATA_DIR/nextcloud/etc/apache2/conf-enabled -touch $DATA_DIR/nextcloud/etc/apache2/conf-enabled/remoteip.conf +mkdir -p "$DATA_DIR/nextcloud/etc/apache2/conf-enabled" +touch "$DATA_DIR/nextcloud/etc/apache2/conf-enabled/remoteip.conf" diff --git a/pihole/docker-compose.up.pre_hook.sh b/pihole/docker-compose.pre_hook.sh similarity index 100% rename from pihole/docker-compose.up.pre_hook.sh rename to pihole/docker-compose.pre_hook.sh diff --git a/qbittorrent/docker-compose.up.pre_hook.sh b/qbittorrent/docker-compose.pre_hook.sh similarity index 100% rename from qbittorrent/docker-compose.up.pre_hook.sh rename to qbittorrent/docker-compose.pre_hook.sh diff --git a/tang/docker-compose.up.pre_hook.sh b/tang/docker-compose.pre_hook.sh similarity index 82% rename from tang/docker-compose.up.pre_hook.sh rename to tang/docker-compose.pre_hook.sh index d62007f..98b9898 100755 --- a/tang/docker-compose.up.pre_hook.sh +++ b/tang/docker-compose.pre_hook.sh @@ -5,4 +5,4 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p $DATA_DIR/tang/db +mkdir -p "$DATA_DIR/tang/db" diff --git a/teslamate/docker-compose.pre_hook.sh b/teslamate/docker-compose.pre_hook.sh new file mode 100755 index 0000000..c98db73 --- /dev/null +++ b/teslamate/docker-compose.pre_hook.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/teslamate/opt/app/import" \ + "$DATA_DIR/db/var/lib/postgresql/data" \ + "$DATA_DIR/mqtt/mosquitto/config" \ + "$DATA_DIR/mqtt/mosquitto/data" diff --git a/teslamate/docker-compose.up.pre_hook.sh b/teslamate/docker-compose.up.pre_hook.sh deleted file mode 100755 index f2e0b4c..0000000 --- a/teslamate/docker-compose.up.pre_hook.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash - -set -Eumo pipefail - -SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" -DATA_DIR="$SELF_DIR/data" - -mkdir -p $DATA_DIR/teslamate/opt/app/import \ - $DATA_DIR/db/var/lib/postgresql/data \ - $DATA_DIR/mqtt/mosquitto/config \ - $DATA_DIR/mqtt/mosquitto/data diff --git a/traefik/docker-compose.pre_hook.sh b/traefik/docker-compose.pre_hook.sh new file mode 100755 index 0000000..cb1391c --- /dev/null +++ b/traefik/docker-compose.pre_hook.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -Eumo pipefail + +SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" +DATA_DIR="$SELF_DIR/data" + +mkdir -p "$DATA_DIR/traefik/cert" \ + "$DATA_DIR/traefik/etc/traefik/lets-encrypt" diff --git a/traefik/docker-compose.up.pre_hook.sh b/traefik/docker-compose.up.pre_hook.sh index 2b6e5f5..cb3e4f9 100755 --- a/traefik/docker-compose.up.pre_hook.sh +++ b/traefik/docker-compose.up.pre_hook.sh @@ -5,9 +5,6 @@ set -Eumo pipefail SELF_DIR="$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)" DATA_DIR="$SELF_DIR/data" -mkdir -p "$DATA_DIR/traefik/cert" \ - "$DATA_DIR/traefik/etc/traefik/lets-encrypt" - echo -n "[~] Checking for default certificates: " cd "$DATA_DIR/traefik/cert" diff --git a/unifi/docker-compose.up.pre_hook.sh b/unifi/docker-compose.pre_hook.sh similarity index 100% rename from unifi/docker-compose.up.pre_hook.sh rename to unifi/docker-compose.pre_hook.sh