mirror of
https://github.com/Yannick7777/codeigniter-setup-script.git
synced 2025-06-25 21:55:33 +02:00
79 lines
2.2 KiB
Bash
Executable file
79 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
docker compose down
|
|
|
|
if [[ "$(basename $(pwd))" == "igniter" ]]; then
|
|
cd ..
|
|
./setup
|
|
cd igniter
|
|
exit
|
|
fi
|
|
|
|
docker compose down
|
|
|
|
dockerUID=$(id -u)
|
|
dockerGID=$(id -g)
|
|
|
|
mkdir dbdata &> /dev/null
|
|
mkdir igniter &> /dev/null
|
|
|
|
echo "Container build in progress.."
|
|
docker build -q docker_build -t script_igniter
|
|
if [ ! -f igniter/composer.json ]; then
|
|
docker run --user $dockerUID:$dockerGID --rm -v ./igniter:/app -it script_igniter composer create-project codeigniter4/appstarter tmp
|
|
mv igniter/tmp/* igniter
|
|
mv igniter/tmp/.* igniter
|
|
rmdir igniter/tmp
|
|
fi
|
|
|
|
if [ ! -f igniter/.gitignore ]; then
|
|
touch igniter/.gitignore
|
|
fi
|
|
|
|
for executable in start stop setup exec spark-exec switch-branch-migrate; do
|
|
if ! grep -q $executable igniter/.gitignore; then
|
|
echo "# Codeigniter Setup Script" >> igniter/.gitignore
|
|
break
|
|
fi
|
|
done
|
|
|
|
for executable in start stop setup exec spark-exec switch-branch-migrate; do
|
|
if ! grep -q $executable igniter/.gitignore; then
|
|
echo "${executable}" >> igniter/.gitignore
|
|
fi
|
|
ln -sf ../$executable igniter/$executable
|
|
done
|
|
|
|
docker run --user $dockerUID:$dockerGID --rm -v ./igniter:/app -it script_igniter composer install
|
|
cp env_docker .env
|
|
cp env_docker igniter/.env
|
|
echo "authjwt.keys.default.0.secret = $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 50 | head -n 1)" >> .env
|
|
echo "dockerUID=$dockerUID" >> .env
|
|
echo "dockerGID=$dockerGID" >> .env
|
|
echo "authjwt.keys.default.0.secret = $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 50 | head -n 1)"
|
|
|
|
if [ -z "$(ls -A dbdata)" ]; then
|
|
echo "Initialising database.."
|
|
docker compose up database -d &> /dev/null
|
|
while ! docker compose logs database | grep -q 'mysqld: ready for connections'; do
|
|
sleep 0.5
|
|
done
|
|
docker compose down database &> /dev/null
|
|
fi
|
|
|
|
docker compose up -d
|
|
|
|
echo "Waiting for app to start up..."
|
|
while ! docker compose logs app | grep -q 'Development Server'; do
|
|
sleep 0.5
|
|
done
|
|
|
|
|
|
echo "Waiting for database to start up..."
|
|
while ! docker compose logs database | grep -q 'mysqld: ready for connections' ; do
|
|
echo "not ready.."
|
|
sleep 0.5
|
|
done
|
|
|
|
# docker compose exec app php spark
|
|
docker compose down
|