Proxmox/misc/photoprism-update.sh
Gavin Laking ee5b965cd6 Fix escape codes;
When running certain scripts, sometimes an 'm' character is wrongly
output to the terminal. This PR fixes all instances of this happening.
I've also made 'RD' (red) consistent with 'GN' (green) by removing the
leading 0, and my editor has kindly removed all trailing spaces from
files.
2022-10-16 16:02:05 +01:00

102 lines
2.5 KiB
Bash

#!/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[1;31m"`
CM='\xE2\x9C\x94\033'
GN=`echo "\033[1;92m"`
CL=`echo "\033[0m"`
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
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
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 "