web-vault-update.sh 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/usr/bin/env bash
  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 / (_| | |_| | | |_
  17. \/ \/ \___|_.__/ \_/ \__,_|\__,_|_|\__|
  18. ${VWRELEASE} UPDATE
  19. ${CL}"
  20. }
  21. update_info
  22. while true; do
  23. read -p "This will Update Web-Vault 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. curl -fsSLO https://github.com/dani-garcia/bw_web_builds/releases/download/$VWRELEASE/bw_web_$VWRELEASE.tar.gz &>/dev/null
  36. if [ -d "/var/lib/vaultwarden" ]; then
  37. tar -xzf bw_web_$VWRELEASE.tar.gz -C /var/lib/vaultwarden/ &>/dev/null
  38. else
  39. tar -zxf bw_web_$VWRELEASE.tar.gz -C /opt/vaultwarden/ &>/dev/null
  40. fi
  41. echo -e "${GN} Cleaning up... ${CL}"
  42. rm bw_web_$VWRELEASE.tar.gz
  43. echo -e "${GN} Starting Vaultwarden... ${CL}"
  44. systemctl start vaultwarden.service
  45. sleep 1
  46. echo -e "${GN} Finished Update ${CL}"