Bladeren bron

WIP: get rid of root requirements and run wp inside the container

test
Jean-Christophe Vanhalle 5 jaren geleden
bovenliggende
commit
426b887184
3 gewijzigde bestanden met toevoegingen van 22 en 47 verwijderingen
  1. 22
    18
      create.sh
  2. 0
    12
      old/purge.sh
  3. 0
    17
      old/restart.sh

+ 22
- 18
create.sh Bestand weergeven

@@ -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';

+ 0
- 12
old/purge.sh Bestand weergeven

@@ -1,12 +0,0 @@
#! /bin/bash
#

docker-compose stop
docker stop wp2020-db-tmp
docker network disconnect wp2020 traefik
docker network rm wp2020
docker volume rm wp2020-db
docker volume rm wp2020-web
umount volume
docker rm wp2020-db-tmp
rm volume -r

+ 0
- 17
old/restart.sh Bestand weergeven

@@ -1,17 +0,0 @@
#! /bin/bash
#

set -o allexport;
source .env;
set +o allexport

user=jeankri
volume_name=$PREFIX-web
volume_path=/home/$user/.docker-data/volumes
# volume_path=/var/lib/docker/volumes

volume_src_path=$volume_path/$volume_name/_data
volume_dest_path=$PWD/volume

sudo -u $user docker-compose restart;
/usr/bin/bindfs --force-user=$user --force-group=$user --create-for-user=www-data --create-for-group=www-data $volume_src_path $volume_dest_path

Laden…
Annuleren
Opslaan