wwwgmo/docker.sh
Gilles Mouchet d722c58de7 3.25-amd
2025-06-19 15:25:39 +02:00

81 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
set -e
_UID=$(id -u)
_GID=$(id -g)
export $(grep -v '^#' .env | xargs)
# check if certs folder exite in src
if [ ! -d "./src/certs" ]; then
mkdir ./src/certs
fi
while test $# -gt 0
do
case "$1" in
install)
env UID=${_UID} GID=${_GID} docker compose up -d wwwgmo-php-fpm
#docker exec --user root wwwgmo-php-fpm "/bin/sh -c 'cd /var/www/html/; composer require elasticsearch/elasticsearch'"
docker exec --user root wwwgmo-php-fpm /bin/sh -c "cd /var/www/html; composer require elasticsearch/elasticsearch:^7.17.2"
env UID=${_UID} GID=${_GID} docker compose stop
;;
start)
env UID=${_UID} GID=${_GID} docker compose up -d;
docker exec --user root wwwgmo-php-fpm composer install --no-interaction
;;
start-nginx)
env UID=${_UID} GID=${_GID} docker compose up -d wwwgmo-nginx
;;
start-db)
env UID=${_UID} GID=${_GID} docker compose up -d wwwgmo-mariadb
;;
stop)
env UID=${_UID} GID=${_GID} docker compose stop
;;
bash)
docker exec -it wwwgmo-php-fpm /bin/sh
;;
bash-root)
docker exec --user root -it wwwgmo-php-fpm /bin/sh
;;
logs)
docker logs wwwgmo-php-fpm -f
;;
build-no-cache)
#cp ./certs/ca.pem ./src/certs/.
sudo chown -R $_UID:$_GID ./src/
env UID=${_UID} GID=${_GID} docker compose build --pull --no-cache
env UID=${_UID} GID=${_GID} docker compose up -d;
#docker exec --user root wwwgmo-php-fpm composer install --no-interaction
sleep 5 # wait mysql container up
#docker exec -it wwwgmo-mariadb /bin/bash -c "mysql -u root --password=password -e \
# \"CREATE USER IF NOT EXISTS 'xmaroot'@'%' IDENTIFIED BY 'sqlAdmin'; \
# GRANT ALL PRIVILEGES ON *.* TO 'xmaroot'@'%'; \
# flush privileges;\""
env UID=${_UID} GID=${_GID} docker compose stop
;;
build)
#cp ./certs/ca.pem ./src/certs/.
sudo chown -R $_UID:$_GID ./src/
env UID=${_UID} GID=${_GID} docker compose build
env UID=${_UID} GID=${_GID} docker compose up -d;
#docker exec --user root wwwgmo-php-fpm composer install --no-interaction
#sleep 5 # wait mysql container up
#docker exec -it wwwgmo-mysql /bin/bash -c "mysql -u root --password=password -e \
# \"CREATE USER IF NOT EXISTS 'xmaroot'@'%' IDENTIFIED BY 'sqlAdmin'; \
# GRANT ALL PRIVILEGES ON *.* TO 'xmaroot'@'%'; \
# flush privileges;\""
env UID=${_UID} GID=${_GID} docker compose stop
;;
push)
docker image push ${DOCKER_IMAGE}:${DOCKER_IMAGE_VERSION}
;;
*)
echo "docker.sh [start|stop|install|logs|bash-root|bash|build|build-no-cache|push]"
;;
esac
shift
done
exit 0