diff --git a/README.md b/README.md index 3da5782..72cd490 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ Clone this repository or copy the files from this repository into a new folder: ``` git clone https://github.com/litespeedtech/ols-docker-env.git ``` -Open a terminal, `cd` to the folder in which `docker-compose.yml` is saved, and run: +Open a terminal, `cd` to the folder in which `docker compose.yml` is saved, and run: ``` -docker-compose up +docker compose up ``` Note: If you wish to run a single web server container, please see the [usage method here](https://github.com/litespeedtech/ols-dockerfiles#usage). @@ -79,21 +79,21 @@ Cloned project ### Starting a Container Start the container with the `up` or `start` methods: ``` -docker-compose up +docker compose up ``` You can run with daemon mode, like so: ``` -docker-compose up -d +docker compose up -d ``` The container is now built and running. ### Stopping a Container ``` -docker-compose stop +docker compose stop ``` ### Removing Containers To stop and remove all containers, use the `down` command: ``` -docker-compose down +docker compose down ``` ### Setting the WebAdmin Password We strongly recommend you set your personal password right away. @@ -186,7 +186,7 @@ RUN apt-get update && apt-get install lsphp80-pspell -y ``` 4. Build and start it with command: ``` -docker-compose up --build +docker compose up --build ``` ## Support & Feedback diff --git a/bin/acme.sh b/bin/acme.sh index dc9a549..2804e21 100755 --- a/bin/acme.sh +++ b/bin/acme.sh @@ -87,7 +87,7 @@ email_filter(){ cert_hook(){ echo '[Start] Adding ACME hook' - docker-compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh" + docker compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh" echo '[End] Adding ACME hook' } @@ -122,12 +122,12 @@ domain_verify(){ install_acme(){ echo '[Start] Install ACME' if [ "${1}" = 'true' ]; then - docker-compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ + docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ ./acme.sh --install --cert-home ~/.acme.sh/certs; \ rm ~/acme.sh" elif [ "${2}" != '' ]; then email_filter "${2}" - docker-compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ + docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ ./acme.sh --install --cert-home ~/.acme.sh/certs --accountemail ${2}; \ rm ~/acme.sh" else @@ -139,14 +139,14 @@ install_acme(){ uninstall_acme(){ echo '[Start] Uninstall ACME' - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --uninstall" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --uninstall" echo '[End] Uninstall ACME' exit 0 } check_acme(){ echo '[Start] Checking ACME' - docker-compose exec ${CONT_NAME} su -c "test -f /root/.acme.sh/acme.sh" + docker compose exec ${CONT_NAME} su -c "test -f /root/.acme.sh/acme.sh" if [ ${?} != 0 ]; then install_acme "${NO_EMAIL}" "${EMAIL}" cert_hook @@ -156,7 +156,7 @@ check_acme(){ } lsws_restart(){ - docker-compose exec ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' + docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' } doc_root_verify(){ @@ -165,7 +165,7 @@ doc_root_verify(){ else DOC_PATH="${DOC_ROOT}" fi - docker-compose exec ${CONT_NAME} su -c "[ -e ${DOC_PATH} ]" + docker compose exec ${CONT_NAME} su -c "[ -e ${DOC_PATH} ]" if [ ${?} -eq 0 ]; then echo -e "[O] The document root folder \033[32m${DOC_PATH}\033[0m does exist." else @@ -177,9 +177,9 @@ doc_root_verify(){ install_cert(){ echo '[Start] Apply Lets Encrypt Certificate' if [ ${TYPE} = 1 ]; then - docker-compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w ${DOC_PATH}" + docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w ${DOC_PATH}" elif [ ${TYPE} = 2 ]; then - docker-compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -d www.${1} -w ${DOC_PATH}" + docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -d www.${1} -w ${DOC_PATH}" else echo 'unknown Type!' exit 2 @@ -190,9 +190,9 @@ install_cert(){ renew_acme(){ echo '[Start] Renew ACME' if [ "${FORCE}" = 'true' ]; then - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" else - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" fi echo '[End] Renew ACME' lsws_restart @@ -201,9 +201,9 @@ renew_acme(){ renew_all_acme(){ echo '[Start] Renew all ACME' if [ "${FORCE}" = 'true' ]; then - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" else - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" fi echo '[End] Renew all ACME' lsws_restart @@ -211,14 +211,14 @@ renew_all_acme(){ revoke(){ echo '[Start] Revoke a domain' - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --revoke --domain ${1}" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --revoke --domain ${1}" echo '[End] Revoke a domain' lsws_restart } remove(){ echo '[Start] Remove a domain' - docker-compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --remove --domain ${1}" + docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --remove --domain ${1}" echo '[End] Remove a domain' lsws_restart } diff --git a/bin/appinstall.sh b/bin/appinstall.sh index a028e41..ba67d52 100755 --- a/bin/appinstall.sh +++ b/bin/appinstall.sh @@ -27,7 +27,7 @@ check_input(){ } app_download(){ - docker-compose exec litespeed su -c "appinstallctl.sh --app ${1} --domain ${2}" + docker compose exec litespeed su -c "appinstallctl.sh --app ${1} --domain ${2}" bash bin/webadmin.sh -r exit 0 } diff --git a/bin/database.sh b/bin/database.sh index 5280552..ec1462d 100755 --- a/bin/database.sh +++ b/bin/database.sh @@ -79,7 +79,7 @@ EOT } check_db_access(){ - docker-compose exec -T mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1 + docker compose exec -T mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1 if [ ${?} != 0 ]; then echo '[X] DB access failed, please check!' exit 1 @@ -87,7 +87,7 @@ check_db_access(){ } check_db_exist(){ - docker-compose exec -T mysql su -c "test -e /var/lib/mysql/${1}" + docker compose exec -T mysql su -c "test -e /var/lib/mysql/${1}" if [ ${?} = 0 ]; then echo "Database ${1} already exist, skip DB creation!" exit 0 @@ -95,7 +95,7 @@ check_db_exist(){ } db_setup(){ - docker-compose exec -T mysql su -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} \ + docker compose exec -T mysql su -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} \ -e "CREATE DATABASE '${SQL_DB}';" \ -e "GRANT ALL PRIVILEGES ON '${SQL_DB}'.* TO '${SQL_USER}'@'${ANY}' IDENTIFIED BY '${SQL_PASS}';" \ -e "FLUSH PRIVILEGES;"' diff --git a/bin/demosite.sh b/bin/demosite.sh index c414929..9147464 100755 --- a/bin/demosite.sh +++ b/bin/demosite.sh @@ -71,7 +71,7 @@ EOT } app_download(){ - docker-compose exec -T ${CONT_NAME} su -c "appinstallctl.sh --app ${1} --domain ${2}" + docker compose exec -T ${CONT_NAME} su -c "appinstallctl.sh --app ${1} --domain ${2}" } lsws_restart(){ diff --git a/bin/domain.sh b/bin/domain.sh index 41e678b..d99dca4 100755 --- a/bin/domain.sh +++ b/bin/domain.sh @@ -27,7 +27,7 @@ check_input(){ add_domain(){ check_input ${1} - docker-compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --add ${1}" + docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --add ${1}" if [ ! -d "./sites/${1}" ]; then mkdir -p ./sites/${1}/{html,logs,certs} fi @@ -36,7 +36,7 @@ add_domain(){ del_domain(){ check_input ${1} - docker-compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --del ${1}" + docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --del ${1}" bash bin/webadmin.sh -r } diff --git a/bin/webadmin.sh b/bin/webadmin.sh index d81d604..18e108e 100755 --- a/bin/webadmin.sh +++ b/bin/webadmin.sh @@ -33,20 +33,20 @@ check_input(){ } lsws_restart(){ - docker-compose exec -T ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' + docker compose exec -T ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' } apply_serial(){ - docker-compose exec ${CONT_NAME} su -c "serialctl.sh --serial ${1}" + docker compose exec ${CONT_NAME} su -c "serialctl.sh --serial ${1}" lsws_restart } mod_secure(){ if [ "${1}" = 'enable' ] || [ "${1}" = 'Enable' ]; then - docker-compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --enable" + docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --enable" lsws_restart elif [ "${1}" = 'disable' ] || [ "${1}" = 'Disable' ]; then - docker-compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --disable" + docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --disable" lsws_restart else help_message @@ -55,13 +55,13 @@ mod_secure(){ ls_upgrade(){ echo 'Upgrade web server to latest stable version.' - docker-compose exec ${CONT_NAME} su -c '/usr/local/lsws/admin/misc/lsup.sh 2>/dev/null' + docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/admin/misc/lsup.sh 2>/dev/null' } set_web_admin(){ echo 'Update web admin password.' local LSADPATH='/usr/local/lsws/admin' - docker-compose exec ${CONT_NAME} su -s /bin/bash lsadm -c \ + docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c \ 'if [ -e /usr/local/lsws/admin/fcgi-bin/admin_php ]; then \ echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ else echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php5 -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \