wwwgmo/docker.sh
2025-06-21 17:32:41 +02:00

86 lines
3.3 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 php-fpm
# docker exec --user root ${COMPOSE_PROJECT_NAME}-php-fpm-1 /bin/sh -c "cd /var/www/html; composer require elasticsearch/elasticsearch"
# env UID=${_UID} GID=${_GID} docker compose stop
# ;;
start)
sudo chown -R $_UID:$_GID ./certs/
env UID=${_UID} GID=${_GID} docker compose up -d;
;;
restart)
sudo chown -R $_UID:$_GID ./certs/
docker compose down --remove-orphans
env UID=${_UID} GID=${_GID} docker compose up -d;
;;
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;
# install lasticsearch client for PHP
docker exec --user root ${COMPOSE_PROJECT_NAME}-php-fpm-1 /bin/sh -c "cd /var/www/html; composer require elasticsearch/elasticsearch"
#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;
# install lasticsearch client for PHP
docker exec --user root ${COMPOSE_PROJECT_NAME}-php-fpm-1 /bin/sh -c "cd /var/www/html; composer require elasticsearch/elasticsearch"
#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}
;;
down)
docker compose down --remove-orphans
;;
*)
echo "docker.sh [start|stop||logs|bash-root|bash|build|build-no-cache|push|down]"
;;
esac
shift
done
exit 0