From 4531bcd18e12b2b582d2038d643cbc7713a9c2ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurice=20Preu=C3=9F?= Date: Sat, 21 Mar 2026 13:17:10 +0000 Subject: [PATCH] =?UTF-8?q?dev/dev.sh=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev/dev.sh | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 dev/dev.sh diff --git a/dev/dev.sh b/dev/dev.sh new file mode 100644 index 0000000..f3be5d2 --- /dev/null +++ b/dev/dev.sh @@ -0,0 +1,114 @@ +#!/bin/bash + +# Actual version see https://gist.github.com/envoyr/d349fc746258d2a433cf3cf7e9ad0f0b +# +# Run in cli with: +# $ bash dev.sh + +# Cloning repositories +git clone git@github.com:froxlor/bundle.git 2>/dev/null +git clone git@github.com:froxlor/framework.git 2>/dev/null + +# Backend Auswahl +if [ -z "${BACKEND}" ]; then + echo "Kein Datenbank-Backend gesetzt." + PS3='Bitte wählen Sie ein Datenbank-Backend (1 oder 2): ' + options=("mariadb" "sqlite") + select opt in "${options[@]}" + do + case $opt in + "mariadb") BACKEND="mariadb"; break ;; + "sqlite") BACKEND="sqlite"; break ;; + *) echo "Ungültige Wahl $REPLY";; + esac + done +fi + +echo "Verwende Backend: ${BACKEND}" + +# Write docker-compose.yml for sqlite +if [ ${BACKEND} == "sqlite" ]; then +cat > docker-compose.yml <<'EOF' +services: + froxlor: + build: . + environment: + DB_CONNECTION: sqlite + ports: + - 8000:8000 + volumes: + - ./bundle:/var/www/html/froxlor + - ./framework:/var/www/html/framework +EOF +elif [ ${BACKEND} == "mariadb" ]; then + +# Create .env file +printf "Enter MariaDB root password: " +stty -echo +read DB_ROOT_PASS +stty echo +printf "\n" + +printf "Enter Froxlor DB password: " +stty -echo +read DB_PASS +stty echo +printf "\n" + +cat > .env < docker-compose.yml <<'EOF' +services: + froxlor: + build: . + environment: + DB_CONNECTION: mariadb + DB_HOST: db + DB_PORT: 3306 + DB_DATABASE: froxlor + DB_USERNAME: root + DB_PASSWORD: ${MARIADB_ROOT_PASSWORD} + ports: + - 8000:8000 + volumes: + - ./bundle:/var/www/html/froxlor + - ./framework:/var/www/html/framework + depends_on: + db: + condition: service_healthy + + db: + image: mariadb + restart: always + environment: + MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} + MARIADB_DATABASE: froxlor + MARIADB_USER: froxlor + MARIADB_PASSWORD: ${MARIADB_PASSWORD} + ports: + - 3306:3306 + volumes: + - ./database:/var/lib/mysql + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + start_period: 10s + interval: 10s + timeout: 5s + retries: 3 + + adminer: + image: adminer + restart: always + ports: + - 8080:8080 +EOF +else +echo "No backend selected." +fi + +echo "Finished! Starting with 'docker compose up', you can use with -d to run it in background. Press 'd' to detach from current session." + +docker compose up --build \ No newline at end of file