statichtmlsite.sh 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/usr/bin/env bash
  2. while true;do ls | grep -q dockerbunker.sh;if [[ $? == 0 ]];then BASE_DIR=$PWD;break;else cd ../;fi;done
  3. PROPER_NAME="Static HTML Site"
  4. SERVICE_NAME="$(echo -e "${PROPER_NAME,,}" | tr -d '[:space:]')"
  5. PROMPT_SSL=1
  6. STATIC=1
  7. declare -a environment=( "data/env/dockerbunker.env" "data/include/init.sh" )
  8. for env in "${environment[@]}";do
  9. [[ -f "${BASE_DIR}"/$env ]] && source "${BASE_DIR}"/$env
  10. done
  11. [[ $1 == "letsencrypt" && $2 == "issue" && $3 ]] \
  12. && [[ -f "${ENV_DIR}"/static/${3}.env ]] && source "${ENV_DIR}"/static/${3}.env \
  13. && letsencrypt issue "static"
  14. [[ -z $1 ]] && options_menu
  15. configure() {
  16. echo -e "# \e[4mSite Settings\e[0m"
  17. set_domain
  18. [[ -f "${ENV_DIR}"/static/${SERVICE_DOMAIN[0]}.env ]] && echo "Site already exists. Exiting." && exit 0
  19. STATIC_HOME="${BASE_DIR}/data/web/${SERVICE_DOMAIN[0]}"
  20. ! [[ -d "${ENV_DIR}"/static ]] && mkdir "${ENV_DIR}"/static
  21. cat <<-EOF >> "${ENV_DIR}"/static/${SERVICE_DOMAIN[0]}.env
  22. #STATIC
  23. ## ------------------------------
  24. STATIC=${STATIC}
  25. SSL_CHOICE=${SSL_CHOICE}
  26. LE_EMAIL=${LE_EMAIL}
  27. STATIC_HOME="${STATIC_HOME}"
  28. SERVICE_DOMAIN[0]=${SERVICE_DOMAIN[0]}
  29. ## ------------------------------
  30. #/STATIC
  31. EOF
  32. source "${ENV_DIR}"/static/${SERVICE_DOMAIN[0]}.env
  33. if ! [[ -d "${STATIC_HOME}" ]];then
  34. mkdir -p "${STATIC_HOME}"
  35. echo "Welcome to my cool website." > "${STATIC_HOME}"/index.html
  36. else
  37. echo -en "Using existing HTML directory[data/web/${SERVICE_DOMAIN[0]}]"
  38. exit_response
  39. fi
  40. post_configure_routine
  41. SUBSTITUTE=( "\${SERVICE_DOMAIN}" )
  42. basic_nginx
  43. [[ ! $(docker ps -q --filter name=^/${NGINX_CONTAINER}$) ]] \
  44. && setup_nginx \
  45. || restart_nginx
  46. if [[ $SSL_CHOICE == "le" ]];then
  47. letsencrypt issue "static"
  48. fi
  49. }
  50. [[ -z $3 ]] && $1