ghost4.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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="Ghost4"
  4. SERVICE_NAME="$(echo -e "${PROPER_NAME,,}" | tr -d '[:space:]')"
  5. PROMPT_SSL=1
  6. safe_to_keep_volumes_when_reconfiguring=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. declare -A WEB_SERVICES
  12. declare -a containers=( "${SERVICE_NAME}-db-dockerbunker" "${SERVICE_NAME}-service-dockerbunker" )
  13. declare -a add_to_network=( "${SERVICE_NAME}-service-dockerbunker" )
  14. declare -A volumes=( [${SERVICE_NAME}-db-vol-1]="/var/lib/mysql" [${SERVICE_NAME}-data-vol-1]="/var/lib/ghost/content" )
  15. declare -a networks=( "dockerbunker-${SERVICE_NAME}" )
  16. declare -A IMAGES=( [db]="mariadb:10.3" [service]="ghost:5-alpine" )
  17. [[ -z $1 ]] && options_menu
  18. configure() {
  19. pre_configure_routine
  20. echo -e "# \e[4mGhost Settings\e[0m"
  21. set_domain
  22. cat <<-EOF >> "${SERVICE_ENV}"
  23. PROPER_NAME=${PROPER_NAME}
  24. SERVICE_NAME=${SERVICE_NAME}
  25. SSL_CHOICE=${SSL_CHOICE}
  26. LE_EMAIL=${LE_EMAIL}
  27. # ------------------------------
  28. # General Settings
  29. # ------------------------------
  30. SERVICE_DOMAIN=${SERVICE_DOMAIN}
  31. # ------------------------------
  32. # Ghost Settings
  33. # ------------------------------
  34. url=https://${SERVICE_DOMAIN}/
  35. NODE_ENV=production
  36. # ------------------------------
  37. # SQL database configuration
  38. # ------------------------------
  39. MYSQL_DATABASE=ghost
  40. MYSQL_USER=ghost
  41. # Please use long, random alphanumeric strings (A-Za-z0-9)
  42. MYSQL_PASSWORD=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 28)
  43. MYSQL_ROOT_PASSWORD=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 28)
  44. EOF
  45. post_configure_routine
  46. }
  47. if [[ $1 == "letsencrypt" ]];then
  48. $1 $*
  49. else
  50. $1
  51. fi