init.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # On first run, generate the basic environment file. This file will collect and hold all information regarding dockerbunker.
  2. # It keeps track of which web-apps are configured, installed, which services' containers are stopped etc.
  3. init_dockerbunker() {
  4. if [[ ! -f "${BASE_DIR}/data/env/dockerbunker.env" ]];then
  5. ! [[ -d "${BASE_DIR}/data/env/" ]] && mkdir -p "${BASE_DIR}/data/env/"
  6. ! [[ -d "${BASE_DIR}"/data/env/static ]] && mkdir -p "${BASE_DIR}"/data/env/static
  7. ! [[ -d "${BASE_DIR}"/data/conf/nginx/conf.d ]] && mkdir -p "${BASE_DIR}"/data/conf/nginx/conf.d
  8. cat <<-EOF >> "${BASE_DIR}/data/env/dockerbunker.env"
  9. BASE_DIR="${BASE_DIR}"
  10. SERVICES_DIR="${BASE_DIR}/data/services"
  11. SERVICE_DIR="\${SERVICES_DIR}/\${SERVICE_NAME}"
  12. CONF_DIR="${BASE_DIR}/data/conf"
  13. ENV_DIR="${BASE_DIR}/data/env"
  14. SERVICE_ENV="\${ENV_DIR}/\${SERVICE_NAME}.env"
  15. CONTAINERS=\${SERVICE_DIR}/containers.sh
  16. LE_EMAIL=
  17. NETWORK=dockerbunker-network
  18. NGINX_CONTAINER=( "nginx-dockerbunker" )
  19. declare -A WEB_SERVICES=()
  20. declare -a CONFIGURED_SERVICES=()
  21. declare -a INSTALLED_SERVICES=()
  22. declare -a STATIC_SITES=()
  23. EOF
  24. fi
  25. }
  26. [[ -f "${BASE_DIR}"/data/env/dockerbunker.env ]] && source "${BASE_DIR}"/data/env/dockerbunker.env
  27. for file in "${BASE_DIR}"/data/include/functions/*; do
  28. source $file
  29. done
  30. if [[ ${STATIC} && ${SERVICE_DOMAIN[0]} ]];then
  31. [[ -f "${ENV_DIR}"/static/${SERVICE_DOMAIN[0]}.env ]] \
  32. && source "${ENV_DIR}"/static/${SERVICE_DOMAIN[0]}.env
  33. else
  34. if [[ ${SERVICE_NAME} ]];then
  35. [[ -f ${SERVICE_ENV} ]] \
  36. && source ${SERVICE_ENV}
  37. [[ -f ${CONTAINERS} ]] \
  38. && source ${CONTAINERS}
  39. [[ -f "${ENV_DIR}"/mx.env ]] \
  40. && source "${ENV_DIR}"/mx.env
  41. [[ -f "${ENV_DIR}"/${SERVICE_NAME}_mx.env ]] \
  42. && source "${ENV_DIR}"/${SERVICE_NAME}_mx.env
  43. fi
  44. fi