photoprism-update.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #!/usr/bin/env bash
  2. set -e
  3. RELEASE=$(curl -s https://api.github.com/repos/photoprism/photoprism/releases/latest \
  4. | grep "tag_name" \
  5. | awk '{print substr($2, 2, length($2)-4) }') \
  6. YW=`echo "\033[33m"`
  7. BL=`echo "\033[36m"`
  8. RD=`echo "\033[01;31m"`
  9. CM='\xE2\x9C\x94\033'
  10. GN=`echo "\033[1;92m"`
  11. CL=`echo "\033[m"`
  12. PP=`echo "\e[1;35m"`
  13. while true; do
  14. read -p "Update PhotoPrism LXC. Proceed(y/n)?" yn
  15. case $yn in
  16. [Yy]* ) break;;
  17. [Nn]* ) exit;;
  18. * ) echo "Please answer yes or no.";;
  19. esac
  20. done
  21. clear
  22. function header_info {
  23. echo -e "${PP}
  24. _____ _ _ _____ _
  25. | __ \| | | | | __ \ (_)
  26. | |__) | |__ ___ | |_ ___ | |__) | __ _ ___ _ __ ___
  27. | ___/| _ \ / _ \| __/ _ \| ___/ __| / __| _ _ \
  28. | | | | | | (_) | || (_) | | | | | \__ \ | | | | |
  29. |_| |_| |_|\___/ \__\___/|_| |_| |_|___/_| |_| |_|
  30. ${RD} UPDATE
  31. ${CL}"
  32. }
  33. header_info
  34. show_menu(){
  35. printf " ${YW} 1)${GN} Release Branch ${CL}\n"
  36. printf " ${YW} 2)${YW} Develop Branch ${CL}\n"
  37. printf "Please choose a Install Branch and hit enter or ${RD}x${CL} to exit."
  38. read opt
  39. }
  40. option_picked(){
  41. message1=${@:-"${CL}Error: No message passed"}
  42. printf " ${YW}${message1}${CL}\n"
  43. }
  44. show_menu
  45. while [ $opt != '' ]
  46. do
  47. if [ $opt = '' ]; then
  48. exit;
  49. else
  50. case $opt in
  51. 1) clear;
  52. header_info;
  53. option_picked "Using Release Branch";
  54. BR="release"
  55. break;
  56. ;;
  57. 2) clear;
  58. header_info;
  59. option_picked "Using Develop Branch";
  60. BR="develop"
  61. break;
  62. ;;
  63. x)exit;
  64. ;;
  65. \n)exit;
  66. ;;
  67. *)clear;
  68. option_picked "Please choose a Install Branch from the menu";
  69. show_menu;
  70. ;;
  71. esac
  72. fi
  73. done
  74. echo -en "${GN} Stopping PhotoPrism... "
  75. sudo systemctl stop photoprism
  76. echo -e "${CM}${CL} \r"
  77. echo -en "${GN} Cloning PhotoPrism ${BR} branch... "
  78. git clone https://github.com/photoprism/photoprism.git &>/dev/null
  79. cd photoprism
  80. git checkout ${BR} &>/dev/null
  81. echo -e "${CM}${CL} \r"
  82. echo -en "${GN} Building PhotoPrism ${BR} branch... "
  83. sudo make all &>/dev/null
  84. sudo ./scripts/build.sh prod /opt/photoprism/bin/photoprism &>/dev/null
  85. sudo cp -a assets/ /opt/photoprism/assets/ &>/dev/null
  86. echo -e "${CM}${CL} \r"
  87. echo -en "${GN} Cleaning... "
  88. cd ~
  89. rm -rf photoprism
  90. echo -e "${CM}${CL} \r"
  91. echo -en "${GN} Starting PhotoPrism... "
  92. sudo systemctl start photoprism
  93. echo -e "${CM}${CL} \n"
  94. echo -e "${GN} Finished ${CL} \n "