#!/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
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 "