#! /bin/sh # if [ -f .env ] then set -o allexport; . ./.env; set +o allexport else echo Missing .env file exit 1 fi echo Setting up ${DOCKER_PREFIX} volumes docker volume create ${DOCKER_PREFIX}-web docker volume create ${DOCKER_PREFIX}-db docker volume create wp-cli-cache echo Setting up ${DOCKER_PREFIX} network docker network create ${DOCKER_PREFIX} docker-compose up -d web while [ ! $(docker ps --quiet --filter name=${DOCKER_PREFIX}-web) ] do echo Waiting for the ${DOCKER_PREFIX}-web container to be up and running… sleep 1 done docker-compose up -d db while [ ! $(docker ps -q -f name=${DOCKER_PREFIX}-db) ] do echo Waiting for the ${DOCKER_PREFIX}-db container to be up and running… sleep 1 done PING_MYSQL="mysqladmin \ ping \ --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 "${PING_MYSQL}") ] #while [ ! $(${COMMAND}) ] do echo Waiting for ${DOCKER_PREFIX}-db to accept connections… sleep 1 done echo Downloading WordPress core docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c " wp core download \ --locale=${WP_LOCALE} \ --path=/var/www/html \ --version=${WP_VERSION}" echo Creating ${DOCKER_PREFIX} WordPress config docker exec --user www-data ${DOCKER_PREFIX}-web /bin/sh -c ' wp config create \ --dbhost='"${DOCKER_PREFIX}-db"' \ --dbname='"${DOCKER_PREFIX}"' \ --dbpass='"${DB_USER_PASSWORD}"' \ --dbuser='"${DB_USER}"' \ --force \ --path=/var/www/html \ --skip-check \ --extra-php <