|
|
|
@@ -5,30 +5,34 @@ set -o allexport; |
|
|
|
source .env; |
|
|
|
set +o allexport |
|
|
|
|
|
|
|
volume_path=/home/$USER/.docker-data/volumes/$PREFIX-web/_data |
|
|
|
volume_dest_path=$PWD/volume |
|
|
|
|
|
|
|
echo "Setting up docker volume and network..."; |
|
|
|
docker volume create $PREFIX-web; |
|
|
|
docker volume create $PREFIX-db; |
|
|
|
docker network create $PREFIX; |
|
|
|
docker network connect $PREFIX traefik; |
|
|
|
|
|
|
|
sudo -u $USER mkdir -p $volume_dest_path; |
|
|
|
/usr/bin/bindfs --force-user=$USER --force-group=$USER --create-for-user=www-data --create-for-group=www-data $volume_path $volume_dest_path; |
|
|
|
docker-compose up -d web; |
|
|
|
while ! docker ps -q -f name=$PREFIX-web; do |
|
|
|
echo "Waiting for the web container to be up and running..."; |
|
|
|
sleep 1; |
|
|
|
done |
|
|
|
|
|
|
|
sudo -u $USER wp core download --locale=$WP_LOCALE --version=$WP_VERSION --path=$volume_dest_path; |
|
|
|
sudo -u $USER wp config create --skip-check --dbname=$PREFIX --dbuser=$DB_USER --dbpass=$DB_USER_PASSWORD --dbhost=127.0.0.1 --path=$volume_dest_path --extra-php <<PHP |
|
|
|
define( 'DB_PORT', 3306); |
|
|
|
PHP |
|
|
|
docker run -d --name $PREFIX-db-tmp --volume $PREFIX-db:/var/lib/mysql -p 3306:3306 -e MYSQL_DATABASE=$PREFIX -e MYSQL_PASSWORD=$DB_USER_PASSWORD -e MYSQL_ROOT_PASSWORD=$DB_ROOT_PASSWORD -e MYSQL_USER=$DB_USER mariadb:10.1 --default-authentication-plugin=mysql_native_password; |
|
|
|
while ! mysqladmin ping -h localhost -P 3306 --protocol=tcp -u user -puser --silent; do |
|
|
|
docker-compose up -d db; |
|
|
|
while ! docker ps -q -f name=$PREFIX-db; do |
|
|
|
echo "Waiting for the db container to be up and running..."; |
|
|
|
sleep 1; |
|
|
|
done |
|
|
|
sudo -u $USER wp core install --path=$volume_dest_path --url=https://www.$PREFIX.localhost --title=$PREFIX --admin_user=admin --admin_password=admin --admin_email=no@mail.com --skip-email; |
|
|
|
#sudo -u $USER wp theme install twentyseventeen --activate --path=$volume_dest_path; |
|
|
|
docker stop $PREFIX-db-tmp; |
|
|
|
docker rm $PREFIX-db-tmp; |
|
|
|
sudo -u $USER wp config create --force --skip-check --dbname=$PREFIX --dbuser=$DB_USER --dbpass=$DB_USER_PASSWORD --dbhost=$PREFIX-db --path=$volume_dest_path --extra-php <<PHP |
|
|
|
if (isset(\$_SERVER['HTTP_X_FORWARDED_PROTO']) && \$_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') \$_SERVER['HTTPS']='on'; |
|
|
|
|
|
|
|
while ! docker exec wptest-web /bin/sh -c "mysqladmin ping -h $PREFIX-db -P 3306 --protocol=tcp -u user -puser --silent" ; do |
|
|
|
echo "Waiting for the mysql server in the db container to be up and running..."; |
|
|
|
sleep 1; |
|
|
|
done |
|
|
|
|
|
|
|
echo "Installing WordPress" |
|
|
|
docker exec --user www-data $PREFIX-web /bin/sh -c "wp core download --version=$WP_VERSION --locale=$WP_LOCALE --path=/var/www/html"; |
|
|
|
docker exec --user www-data $PREFIX-web /bin/sh -c 'wp config create --skip-check --dbname='"$PREFIX"' --dbuser='"$DB_USER"' --dbpass='"$DB_USER_PASSWORD"' --dbhost='"$PREFIX-db"' --path=/var/www/html --force --extra-php <<PHP |
|
|
|
if (isset(\$_SERVER["HTTP_X_FORWARDED_PROTO"]) && \$_SERVER["HTTP_X_FORWARDED_PROTO"] == "https") \$_SERVER["HTTPS"]="on"; |
|
|
|
PHP |
|
|
|
umount $volume_dest_path |
|
|
|
' |
|
|
|
docker exec --user www-data $PREFIX-web /bin/sh -c "wp core install --path=/var/www/html --url=https://www.$PREFIX.localhost --title=$PREFIX --admin_user=admin --admin_password=admin --admin_email=no@mail.com --skip-email"; |
|
|
|
docker exec --user www-data $PREFIX-web /bin/sh -c 'wp theme install twentyseventeen --activate --path=/var/www/html'; |