mirror of https://github.com/tteck/Proxmox.git
				
				
				
			Create photoprism-update.sh
This commit is contained in:
		
							parent
							
								
									d642fa6561
								
							
						
					
					
						commit
						c6b7a1e4a4
					
				| 
						 | 
					@ -0,0 +1,108 @@
 | 
				
			||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					RELEASE=$(curl -s https://api.github.com/repos/photoprism/photoprism/releases/latest \
 | 
				
			||||||
 | 
					| grep "tag_name" \
 | 
				
			||||||
 | 
					| awk '{print substr($2, 2, length($2)-4) }') \
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					YW=`echo "\033[33m"`
 | 
				
			||||||
 | 
					BL=`echo "\033[36m"`
 | 
				
			||||||
 | 
					RD=`echo "\033[01;31m"`
 | 
				
			||||||
 | 
					CM='\xE2\x9C\x94\033'
 | 
				
			||||||
 | 
					GN=`echo "\033[1;92m"`
 | 
				
			||||||
 | 
					CL=`echo "\033[m"`
 | 
				
			||||||
 | 
					PP=`echo "\e[1;35m"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while true; do
 | 
				
			||||||
 | 
					    read -p "Update PhotoPrism LXC. Proceed(y/n)?" yn
 | 
				
			||||||
 | 
					    case $yn in
 | 
				
			||||||
 | 
					        [Yy]* ) break;;
 | 
				
			||||||
 | 
					        [Nn]* ) exit;;
 | 
				
			||||||
 | 
					        * ) echo "Please answer yes or no.";;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					clear
 | 
				
			||||||
 | 
					function header_info {
 | 
				
			||||||
 | 
					echo -e "${PP}
 | 
				
			||||||
 | 
					  _____  _           _        _____      _               
 | 
				
			||||||
 | 
					 |  __ \| |         | |      |  __ \    (_)              
 | 
				
			||||||
 | 
					 | |__) | |__   ___ | |_ ___ | |__) | __ _ ___ _ __ ___  
 | 
				
			||||||
 | 
					 |  ___/|  _ \ / _ \| __/ _ \|  ___/  __| / __|  _   _ \ 
 | 
				
			||||||
 | 
					 | |    | | | | (_) | || (_) | |   | |  | \__ \ | | | | |
 | 
				
			||||||
 | 
					 |_|    |_| |_|\___/ \__\___/|_|   |_|  |_|___/_| |_| |_|
 | 
				
			||||||
 | 
					             ${RD} UPDATE
 | 
				
			||||||
 | 
					${CL}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info
 | 
				
			||||||
 | 
					show_menu(){
 | 
				
			||||||
 | 
					    printf "    ${YW} 1)${GN} Release Branch ${CL}\n"
 | 
				
			||||||
 | 
					    printf "    ${YW} 2)${YW} Develop Branch ${CL}\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    printf "Please choose a Install Branch and hit enter or ${RD}x${CL} to exit."
 | 
				
			||||||
 | 
					    read opt
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					option_picked(){
 | 
				
			||||||
 | 
					    message1=${@:-"${CL}Error: No message passed"}
 | 
				
			||||||
 | 
					    printf " ${YW}${message1}${CL}\n"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					show_menu
 | 
				
			||||||
 | 
					while [ $opt != '' ]
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
 | 
					    if [ $opt = '' ]; then
 | 
				
			||||||
 | 
					      exit;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      case $opt in
 | 
				
			||||||
 | 
					        1) clear;
 | 
				
			||||||
 | 
					            header_info;
 | 
				
			||||||
 | 
					            option_picked "Using Release Branch";
 | 
				
			||||||
 | 
					            BR="release"
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					        2) clear;
 | 
				
			||||||
 | 
					            header_info;
 | 
				
			||||||
 | 
					            option_picked "Using Develop Branch";
 | 
				
			||||||
 | 
					            BR="develop"
 | 
				
			||||||
 | 
					            break;
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        x)exit;
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					        \n)exit;
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					        *)clear;
 | 
				
			||||||
 | 
					            option_picked "Please choose a Install Branch from the menu";
 | 
				
			||||||
 | 
					            show_menu;
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					      esac
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -en "${GN} Stopping PhotoPrism... "
 | 
				
			||||||
 | 
					sudo systemctl stop photoprism
 | 
				
			||||||
 | 
					echo -e "${CM}${CL} \r"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -en "${GN} Cloning PhotoPrism ${BR} branch... "
 | 
				
			||||||
 | 
					git clone https://github.com/photoprism/photoprism.git &>/dev/null
 | 
				
			||||||
 | 
					cd photoprism
 | 
				
			||||||
 | 
					git checkout ${BR} &>/dev/null
 | 
				
			||||||
 | 
					echo -e "${CM}${CL} \r"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -en "${GN} Building PhotoPrism ${BR} branch... "
 | 
				
			||||||
 | 
					sudo make all &>/dev/null
 | 
				
			||||||
 | 
					sudo ./scripts/build.sh prod /opt/photoprism/bin/photoprism &>/dev/null
 | 
				
			||||||
 | 
					sudo cp -a assets/ /opt/photoprism/assets/ &>/dev/null
 | 
				
			||||||
 | 
					echo -e "${CM}${CL} \r"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -en "${GN} Cleaning... "
 | 
				
			||||||
 | 
					cd ~
 | 
				
			||||||
 | 
					rm -rf photoprism
 | 
				
			||||||
 | 
					echo -e "${CM}${CL} \r"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -en "${GN} Starting PhotoPrism... "
 | 
				
			||||||
 | 
					sudo systemctl start photoprism
 | 
				
			||||||
 | 
					echo -e "${CM}${CL} \n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -e "${GN} Finished ${CL} \n "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue