50 lines
1.7 KiB
Bash
50 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest \
|
|
| grep "tag_name" \
|
|
| awk '{print substr($2, 2, length($2)-3) }')
|
|
|
|
RD=`echo "\033[01;31m"`
|
|
BL=`echo "\033[36m"`
|
|
CM='\xE2\x9C\x94\033'
|
|
GN=`echo "\033[1;92m"`
|
|
CL=`echo "\033[m"`
|
|
function update_info {
|
|
echo -e "${BL}
|
|
__ __ _ _ _
|
|
\ \ / / | | | | |
|
|
\ \ / /_ _ _ _| | |___ ____ _ _ __ __| | ___ _ __
|
|
\ \/ / _ | | | | | __\ \ /\ / / _ | __/ _ |/ _ \ _ \
|
|
\ / (_| | |_| | | |_ \ V V / (_| | | | (_| | __/ | | |
|
|
\/ \__,_|\__,_|_|\__| \_/\_/ \__,_|_| \__,_|\___|_| |_|
|
|
${VAULT} UPDATE
|
|
${CL}"
|
|
}
|
|
|
|
update_info
|
|
while true; do
|
|
read -p "This will Update Vaultwarden to $VAULT (set 2vCPU 2048MiB RAM Min.). Proceed(y/n)?" yn
|
|
case $yn in
|
|
[Yy]* ) break;;
|
|
[Nn]* ) exit;;
|
|
* ) echo "Please answer yes or no.";;
|
|
esac
|
|
done
|
|
sleep 2
|
|
echo -e "${GN} Stopping Vaultwarden... ${CL}"
|
|
systemctl stop vaultwarden.service
|
|
sleep 1
|
|
|
|
echo -e "${GN} Updating (Building) to ${VAULT} (Patience)... ${CL}"
|
|
git clone https://github.com/dani-garcia/vaultwarden &>/dev/null
|
|
cd vaultwarden
|
|
cargo build --features "sqlite,mysql,postgresql" --release &>/dev/null
|
|
cp target/release/vaultwarden /opt/vaultwarden/bin/
|
|
|
|
echo -e "${GN} Starting Vaultwarden ${VAULT}... ${CL}"
|
|
systemctl start vaultwarden.service
|
|
sleep 1
|
|
|
|
echo -e "${GN} Cleaning up... ${CL}"
|
|
cd ~ && rm -rf vaultwarden
|
|
|
|
echo -e "${GN} Finished Update (set resources back to normal settings)${CL}"
|