vorerst final version
This commit is contained in:
parent
661e0517d2
commit
5c9cf9b00b
39
bin/dexec
39
bin/dexec
@ -2,7 +2,7 @@
|
||||
|
||||
denvexec() {
|
||||
# Überprüfen, ob die richtige Anzahl Argumente übergeben wurden
|
||||
if [ $# -lt 2 ]; then
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "Verwendung: denvexec <docker command>"
|
||||
return 1
|
||||
fi
|
||||
@ -10,14 +10,19 @@ denvexec() {
|
||||
local DOCKER_COMMAND="$@"
|
||||
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )
|
||||
|
||||
|
||||
echo ""
|
||||
echo "$ENV_DIR: $DOCKER_COMMAND"
|
||||
|
||||
#MAC
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
docker compose -f "${ENV_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND
|
||||
echo "done"
|
||||
|
||||
#LINUX
|
||||
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||
docker compose -f "${ENV_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND
|
||||
|
||||
echo "done"
|
||||
else
|
||||
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
|
||||
exit 1
|
||||
@ -33,28 +38,40 @@ dexec() {
|
||||
|
||||
# convert first parameter to system-direcotry, concat the rest
|
||||
# Teile den String in zwei Teile auf, getrennt durch "-"
|
||||
local part1="${$1%-*}" # before "-" e.g. auth / bee / etc
|
||||
local part2="${$1##*-}" # after "-" e.g. backend / frontend
|
||||
local SYSTEM_DIR="$part2/$part1"
|
||||
local systemPart="${1%-*}" # before "-" e.g. auth / bee / etc
|
||||
local typePart="${1##*-}" # after "-" e.g. backend / frontend
|
||||
local SYSTEM_DIR="$typePart/$systemPart"
|
||||
shift # removes first argument
|
||||
local DOCKER_COMMAND="$@"
|
||||
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )
|
||||
|
||||
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
|
||||
local DOT_ENV_PATH="${ENV_DIR}/systems/${SYSTEM_DIR}/.env"
|
||||
|
||||
echo "$SYSTEM_DIR"
|
||||
echo "$ENV_DIR"
|
||||
echo "$DOCKER_COMMAND"
|
||||
echo ""
|
||||
echo "$SYSTEM_DIR: $DOCKER_COMMAND"
|
||||
|
||||
#SET ENV VARIABLES FROM .ENV
|
||||
if [ -e "$DOT_ENV_PATH" ]; then
|
||||
export $(grep -v '^#' "$DOT_ENV_PATH" | xargs)
|
||||
fi
|
||||
|
||||
#MAC
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
docker compose -f "${ENV_DIR}/systems/{$SYSTEM_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND
|
||||
docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND
|
||||
echo "done"
|
||||
|
||||
#LINUX
|
||||
elif [[ "$OSTYPE" == "linux-gnu" ]]; then
|
||||
docker compose -f "${ENV_DIR}/systems/{$SYSTEM_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND
|
||||
docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND
|
||||
echo "done"
|
||||
|
||||
else
|
||||
echo "Dieses Skript wird auf deinem Gerät nicht unterstützt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#UNSET ENV VARIABLES FROM .ENV
|
||||
if [ -e "$DOT_ENV_PATH" ]; then
|
||||
unset $(grep -v '^#' "$DOT_ENV_PATH" | sed -E 's/(.*)=.*/\1/' | xargs)
|
||||
fi
|
||||
}
|
||||
@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
source ../dexec
|
||||
|
||||
COMMAND="$@"
|
||||
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
|
||||
|
||||
source ${ENV_DIR}/bin/dexec
|
||||
|
||||
# Überprüfen, ob die richtige Anzahl Argumente übergeben wurden
|
||||
if [ $# -lt 1 ]; then
|
||||
@ -7,15 +11,22 @@ if [ $# -lt 1 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local COMMAND="$@"
|
||||
local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
|
||||
|
||||
for SYSTEM in $ENV_DIR/systems/*/*/ ; do
|
||||
local part1="${$1%/*}" # before "/" eg. backend / frontend
|
||||
local part2="${$1##*/}" # after "/" eg. bee / auth / etc
|
||||
local SYSTEM_CODE="$part2-$part1"
|
||||
local DENV_COMMAND="dexec"
|
||||
# Extrahiere den Teil nach "systems/"
|
||||
relative_path="${SYSTEM#*/systems/}"
|
||||
|
||||
echo "$DENV_COMMAND $SYSTEM_CODE $COMMAND"
|
||||
#$DENV_COMMAND $SYSTEM_CODE $COMMAND
|
||||
# Entferne den abschließenden Schrägstrich
|
||||
relative_path="${relative_path%/}"
|
||||
|
||||
typePart="${relative_path%/*}" # before "/" eg. backend / frontend
|
||||
systemPart="${relative_path##*/}" # after "/" eg. bee / auth / etc
|
||||
SYSTEM_CODE="$systemPart-$typePart"
|
||||
DENV_COMMAND="dexec"
|
||||
|
||||
if [[ "$COMMAND" == "init" ]]; then
|
||||
$ENV_DIR/systems/$typePart/$systemPart/bin/script/init
|
||||
else
|
||||
$DENV_COMMAND $SYSTEM_CODE $COMMAND
|
||||
fi
|
||||
done
|
||||
|
||||
10
build
10
build
@ -1,4 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
./bin/script/exec build
|
||||
./bin/script/foreachSystem build
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
source $SCRIPT_DIR/bin/denv
|
||||
source $SCRIPT_DIR/bin/dexec
|
||||
source $SCRIPT_DIR/bin/drun
|
||||
|
||||
denvexec build
|
||||
$SCRIPT_DIR/bin/script/foreachSystem build
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
networks:
|
||||
weedkeeper:
|
||||
name: weedkeeper
|
||||
template:
|
||||
name: template
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v3.0
|
||||
networks:
|
||||
- weedkeeper
|
||||
- template
|
||||
command:
|
||||
- "--providers.docker=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
@ -24,4 +24,4 @@ services:
|
||||
- "./letsencrypt:/letsencrypt"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
labels:
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.weedkeeper.de`)"
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.template.de`)"
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
networks:
|
||||
weedkeeper:
|
||||
name: weedkeeper
|
||||
template:
|
||||
name: template
|
||||
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v3.0
|
||||
networks:
|
||||
- weedkeeper
|
||||
- template
|
||||
command:
|
||||
- "--providers.docker=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
@ -24,4 +24,4 @@ services:
|
||||
- "./letsencrypt:/letsencrypt"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
labels:
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.weedkeeper.de`)"
|
||||
- "traefik.http.routers.traefik.rule=Host(`traefik.template.de`)"
|
||||
|
||||
10
down
10
down
@ -1,4 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
./bin/script/exec down
|
||||
./bin/script/foreachSystem down
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
source $SCRIPT_DIR/bin/denv
|
||||
source $SCRIPT_DIR/bin/dexec
|
||||
source $SCRIPT_DIR/bin/drun
|
||||
|
||||
denvexec down
|
||||
$SCRIPT_DIR/bin/script/foreachSystem down
|
||||
|
||||
10
init
10
init
@ -1,4 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
./bin/script/exec init
|
||||
./bin/script/foreachSystem init
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
source $SCRIPT_DIR/bin/denv
|
||||
source $SCRIPT_DIR/bin/dexec
|
||||
source $SCRIPT_DIR/bin/drun
|
||||
|
||||
denvexec up -d
|
||||
$SCRIPT_DIR/bin/script/foreachSystem init
|
||||
|
||||
10
stop
10
stop
@ -1,4 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
./bin/script/exec stop
|
||||
./bin/script/foreachSystem stop
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
source $SCRIPT_DIR/bin/denv
|
||||
source $SCRIPT_DIR/bin/dexec
|
||||
source $SCRIPT_DIR/bin/drun
|
||||
|
||||
denvexec stop
|
||||
$SCRIPT_DIR/bin/script/foreachSystem stop
|
||||
|
||||
10
up
10
up
@ -1,8 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
source bin/denv
|
||||
source bin/dexec
|
||||
source bin/drun
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
source $SCRIPT_DIR/bin/denv
|
||||
source $SCRIPT_DIR/bin/dexec
|
||||
source $SCRIPT_DIR/bin/drun
|
||||
|
||||
denvexec up -d
|
||||
./bin/script/foreachSystem up -d
|
||||
$SCRIPT_DIR/bin/script/foreachSystem up -d
|
||||
|
||||
Loading…
Reference in New Issue
Block a user