padlockcloud.sh 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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="Padlock Cloud"
  4. SERVICE_NAME="$(echo -e "${PROPER_NAME,,}" | tr -d '[:space:]')"
  5. PROMPT_SSL=1
  6. declare -a environment=( "data/env/dockerbunker.env" "data/include/init.sh" )
  7. for env in "${environment[@]}";do
  8. [[ -f "${BASE_DIR}"/$env ]] && source "${BASE_DIR}"/$env
  9. done
  10. declare -A WEB_SERVICES
  11. declare -a containers=( "${SERVICE_NAME}-service-dockerbunker" )
  12. declare -a add_to_network=( "${SERVICE_NAME}-service-dockerbunker" )
  13. declare -a networks=( )
  14. declare -A volumes=( [${SERVICE_NAME}-data-vol-1]="/padlock/db" )
  15. declare -A IMAGES=( [service]="moritzheiber/padlock-cloud" )
  16. [[ -z $1 ]] && options_menu
  17. configure() {
  18. pre_configure_routine
  19. echo -e "# \e[4mPadlock Cloud Settings\e[0m"
  20. set_domain
  21. echo ""
  22. configure_mx
  23. # avoid tr illegal byte sequence in macOS when generating random strings
  24. if [[ $OSTYPE =~ "darwin" ]];then
  25. if [[ $LC_ALL ]];then
  26. oldLC_ALL=$LC_ALL
  27. export LC_ALL=C
  28. else
  29. export LC_ALL=C
  30. fi
  31. fi
  32. cat <<-EOF >> "${SERVICE_ENV}"
  33. PROPER_NAME="${PROPER_NAME}"
  34. SERVICE_NAME=${SERVICE_NAME}
  35. SSL_CHOICE=${SSL_CHOICE}
  36. LE_EMAIL=${LE_EMAIL}
  37. # ------------------------------
  38. # General Settings
  39. # ------------------------------
  40. SERVICE_DOMAIN=${SERVICE_DOMAIN}
  41. ## ------------------------------
  42. SERVICE_SPECIFIC_MX=${SERVICE_SPECIFIC_MX}
  43. EOF
  44. if [[ $OSTYPE =~ "darwin" ]];then
  45. [[ $oldLC_ALL ]] && export LC_ALL=$oldLC_ALL || unset LC_ALL
  46. fi
  47. post_configure_routine
  48. }
  49. setup() {
  50. initial_setup_routine
  51. SUBSTITUTE=( "\${SERVICE_DOMAIN}" )
  52. basic_nginx
  53. docker_run_all
  54. post_setup_routine
  55. }
  56. if [[ $1 == "letsencrypt" ]];then
  57. $1 $*
  58. else
  59. $1
  60. fi