searx.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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="Searx"
  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 IMAGES=( [service]="dockerbunker/${SERVICE_NAME}" )
  15. declare -A BUILD_IMAGES=( [dockerbunker/${SERVICE_NAME}]="${DOCKERFILES}/${SERVICE_NAME}" )
  16. repoURL="https://github.com/asciimoo/searx.git"
  17. [[ -z $1 ]] && options_menu
  18. upgrade() {
  19. get_current_images_sha256
  20. sed -i "s/default_theme\ :.*/default_theme\ :\ ${THEME}/" data/Dockerfiles/${SERVICE_NAME}/${SERVICE_NAME}/settings.yml
  21. sed -i "s/instance_name\ \:.*/instance_name\ \:\ \"${INSTANCE_NAME}\"/" data/Dockerfiles/${SERVICE_NAME}/${SERVICE_NAME}/settings.yml
  22. docker_build
  23. docker_pull
  24. stop_containers
  25. remove_containers
  26. docker_run_all
  27. delete_old_images
  28. restart_nginx
  29. }
  30. configure() {
  31. pre_configure_routine
  32. echo -e "# \e[4mSearx Settings\e[0m"
  33. set_domain
  34. if [ "$INSTANCE_NAME" ]; then
  35. read -p "Instance Name: " -ei "$INSTANCE_NAME" INSTANCE_NAME
  36. else
  37. read -p "Instance Name: " -ei "${SERVICE_NAME}" INSTANCE_NAME
  38. fi
  39. if [ "$THEME" ]; then
  40. read -p "Theme [oscar, courgette, pix-art, simple]: " -ei "$THEME" THEME
  41. else
  42. read -p "Theme [oscar, courgette, pix-art, simple]: " -ei "oscar" THEME
  43. fi
  44. cat <<-EOF >> "${SERVICE_ENV}"
  45. #SEARX
  46. ## ------------------------------
  47. PROPER_NAME="${PROPER_NAME}"
  48. SERVICE_NAME="${SERVICE_NAME}"
  49. SSL_CHOICE=${SSL_CHOICE}
  50. LE_EMAIL=${LE_EMAIL}
  51. SERVICE_DOMAIN="${SERVICE_DOMAIN}"
  52. INSTANCE_NAME="${INSTANCE_NAME}"
  53. THEME="${THEME}"
  54. ## ------------------------------
  55. #/SEARX
  56. EOF
  57. post_configure_routine
  58. }
  59. setup() {
  60. sed -i "s/default_theme\ :.*/default_theme\ :\ ${THEME}/" data/Dockerfiles/${SERVICE_NAME}/${SERVICE_NAME}/settings.yml
  61. sed -i "s/instance_name\ \:.*/instance_name\ \:\ \"${INSTANCE_NAME}\"/" data/Dockerfiles/${SERVICE_NAME}/${SERVICE_NAME}/settings.yml
  62. initial_setup_routine
  63. SUBSTITUTE=( "\${SERVICE_DOMAIN}" )
  64. basic_nginx
  65. docker_run_all
  66. post_setup_routine
  67. }
  68. if [[ $1 == "letsencrypt" ]];then
  69. $1 $*
  70. else
  71. $1
  72. fi