diff --git a/start.sh b/start.sh index fd2e40b..55e855a 100644 --- a/start.sh +++ b/start.sh @@ -5,6 +5,7 @@ echo "MY Network Node setup (interactive)" SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) BASE_DIR="$SCRIPT_DIR/.." +BASE_DIR=$(cd "$BASE_DIR" && pwd) ENV_FILE="$BASE_DIR/.env" EXAMPLE_FILE="$BASE_DIR/.env.example" @@ -236,7 +237,17 @@ fi set -x COMPOSE_FILE_PATH="$BASE_DIR/configs/docker-compose.yml" -COMPOSE_PROJECT=${COMPOSE_PROJECT_NAME:-$(basename "$BASE_DIR")} +COMPOSE_PROJECT_RAW=${COMPOSE_PROJECT_NAME:-$(basename "$BASE_DIR")} +COMPOSE_PROJECT=$(printf '%s' "$COMPOSE_PROJECT_RAW" | tr '[:upper:]' '[:lower:]' | tr -c '[:alnum:]_-' '-') +while [[ $COMPOSE_PROJECT == -* || $COMPOSE_PROJECT == _* ]]; do + COMPOSE_PROJECT=${COMPOSE_PROJECT#?} +done +if [[ -z $COMPOSE_PROJECT ]]; then + COMPOSE_PROJECT=mynetwork +fi +if [[ $COMPOSE_PROJECT != [a-z0-9]* ]]; then + COMPOSE_PROJECT="n$COMPOSE_PROJECT" +fi if command -v docker compose >/dev/null 2>&1; then docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE_PATH" down --remove-orphans docker compose -p "$COMPOSE_PROJECT" -f "$COMPOSE_FILE_PATH" up -d --build --force-recreate