add redis service

master
Pooria Alaei 2 years ago
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

@ -1,5 +1,14 @@
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:

@ -0,0 +1,2 @@
RUN apt-get update && apt-get install -y python3
WORKDIR /var
Loading…
Cancel
Save