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