dev/dev.sh hinzugefügt
This commit is contained in:
114
dev/dev.sh
Normal file
114
dev/dev.sh
Normal file
@@ -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 <<EOF
|
||||||
|
MARIADB_ROOT_PASSWORD=${DB_ROOT_PASS}
|
||||||
|
MARIADB_PASSWORD=${DB_PASS}
|
||||||
|
EOF
|
||||||
|
# Write docker-compose.yml for mariadb
|
||||||
|
cat > 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
|
||||||
Reference in New Issue
Block a user