gitlabce.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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="Gitlab CE"
  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 volumes=( "${SERVICE_NAME}-data-vol-1" "${SERVICE_NAME}-conf-vol-1" "${SERVICE_NAME}-log-vol-1" "${SERVICE_NAME}-log-vol-2" )
  13. declare -a add_to_network=( "${SERVICE_NAME}-service-dockerbunker" )
  14. declare -a networks=( )
  15. declare -A IMAGES=( [service]="gitlab/gitlab-ce:latest" )
  16. [[ -z $1 ]] && options_menu
  17. configure() {
  18. pre_configure_routine
  19. echo -e "# \e[4m'${PROPER_NAME}' 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. EOF
  28. post_configure_routine
  29. }
  30. setup() {
  31. initial_setup_routine
  32. SUBSTITUTE=( "\${SERVICE_DOMAIN}" )
  33. basic_nginx
  34. #/proc/sys/fs/file-max #this is shared with the host:
  35. GITLAB_FILEMAX=1000000
  36. [[ $(cat /proc/sys/fs/file-max) -lt ${GITLAB_FILEMAX} ]] && echo $GITLAB_FILEMAX > /proc/sys/fs/file-max
  37. docker_run_all
  38. post_setup_routine
  39. }
  40. if [[ $1 == "letsencrypt" ]];then
  41. $1 $*
  42. else
  43. $1
  44. fi