You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
2.7 KiB

#!/usr/bin/env bash
APP_NAME=''
DOMAIN=''
EPACE=' '
SAMPLE=''
echow(){
FLAG=${1}
shift
echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}"
}
help_message(){
echo -e "\033[1mOPTIONS\033[0m"
echow '-A, --app [app_name] -D, --domain [DOMAIN_NAME]'
echo "${EPACE}${EPACE}Example: appinstall.sh -A wordpress -D example.com"
echo "${EPACE}${EPACE}Example: appinstall.sh -A prestashop -D example.com"
echow '-H, --help'
echo "${EPACE}${EPACE}Display help and exit."
exit 0
}
check_input(){
if [ -z "${1}" ]; then
help_message
exit 1
fi
}
set_phpmemory(){
if [ "${1}" = 'magento' ]; then
PHP_INI=$(docker compose exec -T litespeed su -c "php -i | grep 'Loaded Configuration File' | cut -d' ' -f5 " | tr -d '\r')
PHP_MEMORY=$(docker compose exec -T litespeed su -c "cat $PHP_INI | grep memory_limit" | tr -d '\r')
docker compose exec -T litespeed su -c "sed -i 's/^memory_limit.*/memory_limit = 755M/g' $PHP_INI"
echo PHP_INI $PHP_INI
echo PHP_MEMORY $PHP_MEMORY
fi
}
revert_phpmemory(){
if [ "${1}" = 'magento' ]; then
docker compose exec -T litespeed /bin/bash -c "sed -i 's/^memory_limit.*/$PHP_MEMORY/g' $PHP_INI"
fi
}
install_packages(){
if [ "${1}" = 'wordpress' ]; then
docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package ed"
docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package unzip"
#elif [ "${1}" = 'magento' ]; then
# docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package composer"
# docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package unzip"
# docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package git"
elif [ "${1}" = 'prestashop' ]; then
docker compose exec -T litespeed /bin/bash -c "pkginstallctl.sh --package unzip"
fi
}
app_download(){
set_phpmemory ${1}
install_packages ${1}
docker compose exec -T litespeed bash -c "appinstallctl.sh --app ${1} --domain ${2} ${3}"
revert_phpmemory ${1}
bash bin/webadmin.sh -r
exit 0
}
main(){
app_download "${APP_NAME}" "${DOMAIN}" "${SAMPLE}"
}
check_input ${1}
while [ ! -z "${1}" ]; do
case ${1} in
-[hH] | -help | --help)
help_message
;;
-[aA] | -app | --app) shift
check_input "${1}"
APP_NAME="${1}"
;;
-[dD] | -domain | --domain) shift
check_input "${1}"
DOMAIN="${1}"
;;
-[sS] | --sample)
SAMPLE='-S'
;;
*)
help_message
;;
esac
shift
done
main