vaultwarden-update.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/bin/sh
  2. VWRELEASE=$(curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest \
  3. | grep "tag_name" \
  4. | awk '{print substr($2, 2, length($2)-3) }') \
  5. RD=`echo "\033[01;31m"`
  6. BL=`echo "\033[36m"`
  7. CM='\xE2\x9C\x94\033'
  8. GN=`echo "\033[1;92m"`
  9. CL=`echo "\033[m"`
  10. function update_info {
  11. echo -e "${BL}
  12. __ __ _ _ _
  13. \ \ / / | | | | |
  14. \ \ / /_ _ _ _| | |___ ____ _ _ __ __| | ___ _ __
  15. \ \/ / _ | | | | | __\ \ /\ / / _ | __/ _ |/ _ \ _ \
  16. \ / (_| | |_| | | |_ \ V V / (_| | | | (_| | __/ | | |
  17. \/ \__,_|\__,_|_|\__| \_/\_/ \__,_|_| \__,_|\___|_| |_|
  18. UPDATE
  19. ${CL}"
  20. }
  21. update_info
  22. while true; do
  23. read -p "This will Update Vaultwarden to $VWRELEASE. Proceed(y/n)?" yn
  24. case $yn in
  25. [Yy]* ) break;;
  26. [Nn]* ) exit;;
  27. * ) echo "Please answer yes or no.";;
  28. esac
  29. done
  30. sleep 2
  31. echo -e "${GN} Stopping Vaultwarden... ${CL}"
  32. systemctl stop vaultwarden.service
  33. sleep 1
  34. echo -e "${GN} Updating to ${VWRELEASE}... ${CL}"
  35. wget https://github.com/dani-garcia/bw_web_builds/releases/download/$VWRELEASE/bw_web_$VWRELEASE.tar.gz &>/dev/null
  36. tar -xzf bw_web_$VWRELEASE.tar.gz &>/dev/null
  37. cp -R web-vault /var/lib/vaultwarden/ &>/dev/null
  38. echo -e "${GN} Cleanup... ${CL}"
  39. rm -r bw_web_$VWRELEASE.tar.gz web-vault
  40. sleep 2
  41. echo -e "${GN} Starting Vaultwarden... ${CL}"
  42. systemctl start vaultwarden.service
  43. sleep 1
  44. echo -e "${GN} Finished Update ${CL}"