switches to sh instead of bash

This commit is contained in:
2021-04-11 22:31:54 +02:00
parent 40447487fe
commit 5001a9e2cc
5 changed files with 132 additions and 72 deletions

103
create.sh
View File

@@ -1,73 +1,92 @@
#! /bin/bash #! /bin/sh
# #
if [ -f .env ]
then
set -o allexport; set -o allexport;
source .env; . ./.env;
set +o allexport set +o allexport
else
echo Missing .env file
exit 1
fi
echo "Setting up docker volumes"; echo Setting up ${DOCKER_PREFIX} volumes
docker volume create $DOCKER_PREFIX-web; docker volume create ${DOCKER_PREFIX}-web
docker volume create $DOCKER_PREFIX-db; docker volume create ${DOCKER_PREFIX}-db
docker volume create wp-cli-cache; docker volume create wp-cli-cache
echo "Setting up docker network"; echo Setting up ${DOCKER_PREFIX} network
docker network create $DOCKER_PREFIX; docker network create ${DOCKER_PREFIX}
docker-compose up -d web; docker-compose up -d web
while ! docker ps -q -f name=$DOCKER_PREFIX-web; do while [ ! $(docker ps --quiet --filter name=${DOCKER_PREFIX}-web) ]
echo "Waiting for the web container to be up and running..."; do
sleep 1; echo Waiting for the ${DOCKER_PREFIX}-web container to be up and running…
sleep 1
done done
docker-compose up -d db; docker-compose up -d db
while ! docker ps -q -f name=$DOCKER_PREFIX-db; do while [ ! $(docker ps -q -f name=${DOCKER_PREFIX}-db) ]
echo "Waiting for the db container to be up and running..."; do
sleep 1; echo Waiting for the ${DOCKER_PREFIX}-db container to be up and running…
sleep 1
done done
while ! docker exec $DOCKER_PREFIX-web /bin/sh -c "mysqladmin ping -h $DOCKER_PREFIX-db -P 3306 --protocol=tcp -u user -puser --silent" ; do COMMAND="mysqladmin \
echo "Waiting for the mysql server in the db container to be up and running..."; ping \
sleep 1; --host ${DOCKER_PREFIX}-db \
--port 3306 \
--protocol=tcp \
--user=${DB_USER} \
--password=${DB_USER_PASSWORD} \
--silent"
# weird [: mysqld: unexpected operator when using COMMAND
#while ! docker exec ${DOCKER_PREFIX}-web /bin/sh -c "mysqladmin ping -h ${DOCKER_PREFIX}-db -P 3306 --protocol=tcp -u user -puser --silent"
while [ ! $(docker exec ${DOCKER_PREFIX}-web /bin/sh -c "${COMMAND}") ]
do
echo Waiting for ${DOCKER_PREFIX}-db to accept connections…
sleep 1
done done
echo "Downloading WordPress core"; echo Downloading WordPress core
docker exec --user www-data $DOCKER_PREFIX-web /bin/sh -c " docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c "
wp core download \ wp core download \
--locale=$WP_LOCALE \ --locale=${WP_LOCALE} \
--path=/var/www/html \ --path=/var/www/html \
--version=$WP_VERSION"; --version=${WP_VERSION}"
echo "Creating WordPress config"; echo Creating ${DOCKER_PREFIX} WordPress config
docker exec --user www-data $DOCKER_PREFIX-web /bin/sh -c ' docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c '
wp config create \ wp config create \
--dbhost='"$DOCKER_PREFIX-db"' \ --dbhost='"${DOCKER_PREFIX}-db"' \
--dbname='"$DOCKER_PREFIX"' \ --dbname='"${DOCKER_PREFIX}"' \
--dbpass='"$DB_USER_PASSWORD"' \ --dbpass='"${DB_USER_PASSWORD}"' \
--dbuser='"$DB_USER"' \ --dbuser='"${DB_USER}"' \
--force \ --force \
--path=/var/www/html \ --path=/var/www/html \
--skip-check \ --skip-check \
--extra-php <<EXTRA-PHP --extra-php <<EXTRA-PHP
if (isset(\$_SERVER["HTTP_X_FORWARDED_PROTO"]) && \$_SERVER["HTTP_X_FORWARDED_PROTO"] == "https") \$_SERVER["HTTPS"]="on"; if (isset(\$_SERVER["HTTP_X_FORWARDED_PROTO"]) && \$_SERVER["HTTP_X_FORWARDED_PROTO"] == "https") \$_SERVER["HTTPS"]="on";
EXTRA-PHP EXTRA-PHP
'; '
echo "Installing WordPress core"; echo Installing WordPress core
docker exec --user www-data $DOCKER_PREFIX-web /bin/sh -c " docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c "
wp core install \ wp core install \
--admin_email=no@mail.com \ --admin_email=no@mail.com \
--admin_password=$WP_ADMIN_PASSWORD \ --admin_password=${WP_ADMIN_PASSWORD} \
--admin_user=$WP_ADMIN_USERNAME \ --admin_user=${WP_ADMIN_USERNAME} \
--path=/var/www/html \ --path=/var/www/html \
--skip-email \ --skip-email \
--title=$DOCKER_PREFIX \ --title=${DOCKER_PREFIX} \
--url=$WP_DEFAULT_PROTOCOL://$WP_URL"; --url=${WP_DEFAULT_PROTOCOL}://${WP_URL}"
echo "Installing WordPress $WP_THEME theme"; echo Installing WordPress ${WP_THEME} theme
docker exec --user www-data $DOCKER_PREFIX-web /bin/sh -c " docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c "
wp theme install $WP_THEME \ wp theme install ${WP_THEME} \
--activate \ --activate \
--path=/var/www/html"; --path=/var/www/html"
echo "Connect network to traefik"; echo Connect ${DOCKER_PREFIX} network to ${TRAEFIK_NETWORK_NAME}
docker network connect $DOCKER_PREFIX $TRAEFIK_NETWORK_NAME; docker network connect ${DOCKER_PREFIX} ${TRAEFIK_NETWORK_NAME}
docker-compose up -d adminer docker-compose up -d adminer

45
mnt.sh
View File

@@ -1,20 +1,41 @@
#! /bin/bash #! /bin/sh
# #
if [ -f .env ]
then
set -o allexport; set -o allexport;
source ./.env; . ./.env;
set +o allexport set +o allexport
else
docker_volumes_path=/home/$MOUNT_USER/.docker-data/volumes # volume_path=/var/lib/docker/volumes echo Missing .env file
volume_src_path=$docker_volumes_path/$DOCKER_PREFIX-web/_data exit 1
volume_dest_path=$PWD/volume
if [ ! -d ./volume ]; then
sudo -u $MOUNT_USER mkdir volume
fi fi
if [ -d ./volume ]; then docker_volumes_path=/home/${MOUNT_USER}/.docker-data/volumes # volume_path=/var/lib/docker/volumes
if [ ! "$(ls -A ./volume)" ]; then volume_src_path=${docker_volumes_path}/${DOCKER_PREFIX}-web/_data
/usr/bin/bindfs --force-user=$MOUNT_USER --force-group=$MOUNT_USER --create-for-user=www-data --create-for-group=www-data $volume_src_path $volume_dest_path volume_dest_path=${PWD}/volume
if [ ! -d ./volume ]
then
sudo -u ${MOUNT_USER} mkdir volume
fi fi
if [ -d ./volume ]
then
if [ ! "$(ls -A ./volume)" ]
then
/usr/bin/bindfs \
--force-user=${MOUNT_USER} \
--force-group=${MOUNT_USER} \
--create-for-user=www-data \
--create-for-group=www-data \
${volume_src_path} \
${volume_dest_path}
else
echo ./volume is not empty
exit 1
fi
else
echo ./volume does not exist
exit 1
fi fi

View File

@@ -1,18 +1,18 @@
#! /bin/sh #! /bin/sh
# #
if [ -f "${PWD}/.env" ] if [ -f ./.env ]
then then
set -o allexport set -o allexport
. "${PWD}/.env" . ./.env
set +o allexport set +o allexport
else else
echo "Missing .env file" echo Missing .env file
exit 1 exit 1
fi fi
read -p "Confirmation (YyOo) ? " REPLY read -p "Confirmation (YyOo) ? " REPLY
if [ `echo ${REPLY} | grep -i ^[yo]$` ] if [ $(echo ${REPLY} | grep -i ^[yo]$) ]
then then
docker-compose stop docker-compose stop
docker network disconnect $DOCKER_PREFIX $TRAEFIK_NETWORK_NAME docker network disconnect $DOCKER_PREFIX $TRAEFIK_NETWORK_NAME

16
root.sh
View File

@@ -1,8 +1,18 @@
#! /bin/bash #! /bin/sh
# #
if [ -f .env ]
then
set -o allexport; set -o allexport;
source .env; . ./.env;
set +o allexport set +o allexport
else
echo Missing .env file
exit 1
fi
docker exec -it --user root $DOCKER_PREFIX-web /bin/bash docker exec \
-it \
--user root \
${DOCKER_PREFIX}-web \
/bin/bash

16
wp.sh
View File

@@ -1,8 +1,18 @@
#! /bin/bash #! /bin/sh
# #
if [ -f .env ]
then
set -o allexport; set -o allexport;
source .env; . ./.env;
set +o allexport set +o allexport
else
echo Missing .env file
exit 1
fi
docker exec -it --user www-data $DOCKER_PREFIX-web /bin/bash docker exec \
-it \
--user www-data \
${DOCKER_PREFIX}-web \
/bin/bash