parent
89ac02f6fe
commit
8ac5f3e1ab
@ -0,0 +1,97 @@
|
||||
#!/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
|
@ -0,0 +1,66 @@
|
||||
version: '3'
|
||||
services:
|
||||
redis:
|
||||
image: 'bitnami/redis:latest'
|
||||
environment:
|
||||
- ALLOW_EMPTY_PASSWORD=yes
|
||||
networks:
|
||||
- default
|
||||
ports:
|
||||
- "6379:6379"
|
||||
restart: always
|
||||
mysql:
|
||||
image: mariadb:10.5.9
|
||||
logging:
|
||||
driver: none
|
||||
command: --max_allowed_packet=256M
|
||||
volumes:
|
||||
- "./data/db:/var/lib/mysql:delegated"
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
restart: always
|
||||
networks:
|
||||
- default
|
||||
litespeed:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
image: litespeedtech/openlitespeed:${OLS_VERSION}-${PHP_VERSION}
|
||||
logging:
|
||||
driver: none
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- ./lsws/conf:/usr/local/lsws/conf
|
||||
- ./lsws/admin-conf:/usr/local/lsws/admin/conf
|
||||
- ./bin/container:/usr/local/bin
|
||||
- ./sites:/var/www/vhosts/
|
||||
- ./acme:/root/.acme.sh/
|
||||
- ./logs:/usr/local/lsws/logs/
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
- 443:443/udp
|
||||
- 7080:7080
|
||||
restart: always
|
||||
environment:
|
||||
DATABASE_HOST: mysql
|
||||
TZ: ${TimeZone}
|
||||
networks:
|
||||
- default
|
||||
phpmyadmin:
|
||||
image: bitnami/phpmyadmin:5.2.0-debian-11-r43
|
||||
ports:
|
||||
- 8080:8080
|
||||
- 8443:8443
|
||||
environment:
|
||||
DATABASE_HOST: mysql
|
||||
restart: always
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default:
|
||||
driver: bridge
|
Loading…
Reference in new issue