goatcounter.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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="Goatcounter"
  4. SERVICE_NAME="$(echo -e "${PROPER_NAME,,}" | tr -cd '[:alnum:]')"
  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 IMAGES=( [service]="chaosbunker/goatcounter" )
  14. declare -A volumes=( [${SERVICE_NAME}-db-vol-1]="/goatcounter/db" )
  15. declare -a networks=( )
  16. [[ -z $1 ]] && options_menu
  17. configure() {
  18. pre_configure_routine
  19. echo -e "# \e[4mgoatcounter Settings\e[0m"
  20. set_domain
  21. cat <<-EOF >> "${SERVICE_ENV}"
  22. PROPER_NAME="${PROPER_NAME}"
  23. SERVICE_NAME=${SERVICE_NAME}
  24. SSL_CHOICE=${SSL_CHOICE}
  25. LE_EMAIL=${LE_EMAIL}
  26. SERVICE_DOMAIN=${SERVICE_DOMAIN}
  27. GOATCOUNTER_DOMAIN=${SERVICE_DOMAIN}
  28. GOATCOUNTER_EMAIL=${GOATCOUNTER_EMAIL}
  29. GOATCOUNTER_SMTP=smtp://${SMTP_USER}:${SMTP_PASSWORD}@${SMTP_DOMAIN}:${SMTP_PORT}
  30. GOATCOUNTER_DB=sqlite:///goatcounter/db/goatcounter.sqlite3
  31. EOF
  32. post_configure_routine
  33. }
  34. if [[ $1 == "letsencrypt" ]];then
  35. $1 $*
  36. else
  37. $1
  38. fi