#!/bin/sh GRAY="\e[0;30m" RED="\e[0;31m" GREEN="\e[0;32m" YELLOW="\e[0;33m" BLUE="\e[0;34m" PURPLE="\e[0;35m" CYAN="\e[0;36m" WHITE="\e[0;37m" RESET="\e[0m" # it gets the ENV variables from .env because specified in the docker-compose.yml file # install wordpress with cli : https://make.wordpress.org/cli/handbook/how-to-install/ # commands : https://developer.wordpress.org/cli/commands/ # bug with wp commands : https://github.com/wp-cli/config-command/issues/31 # -> use `php wp-cli.phar` instead of `wp` as command echo -e ${YELLOW}download wordpress :${RESET} if ! wp core version --path="${WP_VOLUME_DIR}" 2> /dev/null then echo -e ${YELLOW}wp core download...${RESET} mkdir -p ${WP_VOLUME_DIR} #wp core download --path="${WP_VOLUME_DIR}" --allow-root php wp-cli.phar core download --path="${WP_VOLUME_DIR}" --allow-root else echo -e ${GREEN}already there !${RESET} fi # install wp if not already installed if ! wp core is-installed --path="${WP_VOLUME_DIR}" 2> /dev/null then echo -e ${YELLOW}installing :${RESET} #wp config create \ echo -e ${YELLOW}wp config create...${RESET} php wp-cli.phar config create \ --dbhost="${DB_HOST}" \ --dbname="${DB_NAME}" \ --dbuser="${DB_USER}" \ --dbpass="${DB_PSWD}" \ --path="${WP_VOLUME_DIR}" --allow-root #wp core install \ echo -e ${YELLOW}wp core install...${RESET} php wp-cli.phar core install \ --url="${WP_URL}" \ --title="${WP_TITLE}" \ --admin_user="${WP_ADMIN}" \ --admin_email="${WP_ADMIN_EMAIL}" \ --admin_password="${WP_ADMIN_PSWD}" \ --skip-email \ --path="${WP_VOLUME_DIR}" --allow-root echo -e ${YELLOW}chown and chmod...${RESET} chown -R www-data:www-data /var/www/* chmod 755 -R /var/www/* echo -e ${GREEN}done !${RESET} else echo -e ${GREEN}wp is installed${RESET} #https://stackoverflow.com/questions/56344567/wordpress-prevent-redirection-to-main-url echo -e ${YELLOW}checking config.php file with current url...${RESET} HOME=$(php wp-cli.phar config get WP_HOME --path=${WP_VOLUME_DIR}) if [ ${HOME} != ${WP_COMPLETE_URL} ] ; then php wp-cli.phar config set WP_HOME ${WP_COMPLETE_URL} --path=${WP_VOLUME_DIR} fi SITEURL=$(php wp-cli.phar config get WP_SITEURL --path=${WP_VOLUME_DIR}) if [ ${SITEURL} != ${WP_COMPLETE_URL} ] ; then php wp-cli.phar config set WP_SITEURL ${WP_COMPLETE_URL} --path=${WP_VOLUME_DIR} fi fi exec "${PHP_VERSION}" -FR