mirror of https://github.com/tteck/Proxmox.git
				
				
				
			Update and rename vaultwarden-v5.sh to vaultwarden-v4.sh
This commit is contained in:
		
							parent
							
								
									ce90d7da23
								
							
						
					
					
						commit
						a9ea2cf3df
					
				| 
						 | 
				
			
			@ -1,14 +1,4 @@
 | 
			
		|||
#!/usr/bin/env bash
 | 
			
		||||
function header_info {
 | 
			
		||||
  cat <<"EOF"
 | 
			
		||||
 _    __            ____ _       __               __         
 | 
			
		||||
| |  / /___ ___v5__/ / /| |     / /___ __________/ /__  ____ 
 | 
			
		||||
| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __  / _ \/ __ \
 | 
			
		||||
| |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / /  / /_/ /  __/ / / /
 | 
			
		||||
|___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/   \__,_/\___/_/ /_/ 
 | 
			
		||||
                                                             
 | 
			
		||||
EOF
 | 
			
		||||
}
 | 
			
		||||
echo -e "Loading..."
 | 
			
		||||
APP="Vaultwarden"
 | 
			
		||||
var_disk="6"
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +8,7 @@ var_os="debian"
 | 
			
		|||
var_version="11"
 | 
			
		||||
NSAPP=$(echo ${APP,,} | tr -d ' ')
 | 
			
		||||
var_install="${NSAPP}-install"
 | 
			
		||||
NEXTID=$(pvesh get /cluster/nextid)
 | 
			
		||||
INTEGER='^[0-9]+$'
 | 
			
		||||
YW=$(echo "\033[33m")
 | 
			
		||||
BL=$(echo "\033[36m")
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +20,6 @@ CL=$(echo "\033[m")
 | 
			
		|||
BFR="\\r\\033[K"
 | 
			
		||||
HOLD="-"
 | 
			
		||||
CM="${GN}✓${CL}"
 | 
			
		||||
CROSS="${RD}✗${CL}"
 | 
			
		||||
set -o errexit
 | 
			
		||||
set -o errtrace
 | 
			
		||||
set -o nounset
 | 
			
		||||
| 
						 | 
				
			
			@ -45,22 +35,30 @@ function error_exit() {
 | 
			
		|||
  echo -e "$flag $msg" 1>&2
 | 
			
		||||
  exit $EXIT
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
 | 
			
		||||
  echo "User selected Yes"
 | 
			
		||||
else
 | 
			
		||||
  clear
 | 
			
		||||
  echo -e "⚠ User exited script \n"
 | 
			
		||||
  exit
 | 
			
		||||
fi
 | 
			
		||||
function header_info {
 | 
			
		||||
  echo -e "${CL}
 | 
			
		||||
 _    _____   __  ____  _______       _____    ____  ____  _______   __
 | 
			
		||||
| |  / /   | / / / / / /_  __/ |     / /   |  / __ \/ __ \/ ____/ | / /
 | 
			
		||||
| | / / /| |/ / / / /   / /  | | /| / / /| | / /_/ / / / / __/ /  |/ / 
 | 
			
		||||
| |/ / ___ / /_/ / /___/ /   | |/ |/ / ___ |/ _, _/ /_/ / /___/ /|  /  
 | 
			
		||||
|___/_/  |_\____/_____/_/ v4 |__/|__/_/  |_/_/ |_/_____/_____/_/ |_/   
 | 
			
		||||
${CL}"
 | 
			
		||||
}
 | 
			
		||||
function msg_info() {
 | 
			
		||||
  local msg="$1"
 | 
			
		||||
  echo -ne " ${HOLD} ${YW}${msg}..."
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function msg_ok() {
 | 
			
		||||
  local msg="$1"
 | 
			
		||||
  echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function msg_error() {
 | 
			
		||||
    local msg="$1"
 | 
			
		||||
    echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function PVE_CHECK() {
 | 
			
		||||
  PVE=$(pveversion | grep "pve-manager/7" | wc -l)
 | 
			
		||||
  if [[ $PVE != 1 ]]; then
 | 
			
		||||
| 
						 | 
				
			
			@ -70,28 +68,6 @@ function PVE_CHECK() {
 | 
			
		|||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
if command -v pveversion >/dev/null 2>&1; then
 | 
			
		||||
  if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
 | 
			
		||||
    NEXTID=$(pvesh get /cluster/nextid)
 | 
			
		||||
  else
 | 
			
		||||
    clear
 | 
			
		||||
    echo -e "⚠ User exited script \n"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
if ! command -v pveversion >/dev/null 2>&1; then
 | 
			
		||||
  if [[ ! -d /opt/vaultwarden ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!";
 | 
			
		||||
    exit 
 | 
			
		||||
  fi
 | 
			
		||||
  if (whiptail --title "${APP} LXC UPDATE" --yesno "This will update ${APP}. Proceed?" 10 58); then
 | 
			
		||||
    echo "User selected Update"
 | 
			
		||||
  else
 | 
			
		||||
    clear
 | 
			
		||||
    echo -e "⚠ User exited script \n"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
function default_settings() {
 | 
			
		||||
  echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
 | 
			
		||||
  CT_TYPE="1"
 | 
			
		||||
| 
						 | 
				
			
			@ -125,7 +101,6 @@ function default_settings() {
 | 
			
		|||
  SSH="no"
 | 
			
		||||
  echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
 | 
			
		||||
  VERB="no"
 | 
			
		||||
  VERB2="silent"
 | 
			
		||||
  echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
 | 
			
		||||
}
 | 
			
		||||
function advanced_settings() {
 | 
			
		||||
| 
						 | 
				
			
			@ -278,11 +253,9 @@ function advanced_settings() {
 | 
			
		|||
  if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
 | 
			
		||||
      echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
 | 
			
		||||
      VERB="yes"
 | 
			
		||||
      VERB2=""
 | 
			
		||||
  else
 | 
			
		||||
      echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
 | 
			
		||||
      VERB="no"
 | 
			
		||||
      VERB2="silent"
 | 
			
		||||
  fi
 | 
			
		||||
  if (whiptail --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" --no-button Do-Over 10 58); then
 | 
			
		||||
    echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +266,7 @@ function advanced_settings() {
 | 
			
		|||
    advanced_settings
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
function install_script() {
 | 
			
		||||
function start_script() {
 | 
			
		||||
  if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
 | 
			
		||||
    header_info
 | 
			
		||||
    echo -e "${BL}Using Default Settings${CL}"
 | 
			
		||||
| 
						 | 
				
			
			@ -304,72 +277,8 @@ function install_script() {
 | 
			
		|||
    advanced_settings
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
UPD=$(whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Choose Type" 8 58 2 \
 | 
			
		||||
  "1" "VaultWarden" ON \
 | 
			
		||||
  "2" "Web-Vault" OFF \
 | 
			
		||||
  3>&1 1>&2 2>&3)
 | 
			
		||||
 | 
			
		||||
clear
 | 
			
		||||
header_info
 | 
			
		||||
echo -e "\n ⚠️  Ensure you set 2vCPU & 3072MiB RAM MIMIMUM!!! \n" 
 | 
			
		||||
if [ "$UPD" == "1" ]; then
 | 
			
		||||
msg_info "Stopping Vaultwarden"
 | 
			
		||||
systemctl stop vaultwarden.service
 | 
			
		||||
msg_ok "Stopped Vaultwarden"
 | 
			
		||||
 | 
			
		||||
msg_info "Updating VaultWarden (Patience)"
 | 
			
		||||
git clone https://github.com/dani-garcia/vaultwarden &>/dev/null
 | 
			
		||||
cd vaultwarden
 | 
			
		||||
cargo build --features "sqlite,mysql,postgresql" --release &>/dev/null
 | 
			
		||||
DIR=/usr/bin/vaultwarden
 | 
			
		||||
  if [ -d "$DIR" ]; then
 | 
			
		||||
      cp target/release/vaultwarden /usr/bin/
 | 
			
		||||
  else
 | 
			
		||||
      cp target/release/vaultwarden /opt/vaultwarden/bin/
 | 
			
		||||
  fi
 | 
			
		||||
msg_ok "Updated VaultWarden"
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
cd ~ && rm -rf vaultwarden
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
msg_info "Starting Vaultwarden"
 | 
			
		||||
systemctl start vaultwarden.service
 | 
			
		||||
msg_ok "Started Vaultwarden"
 | 
			
		||||
 | 
			
		||||
msg_ok "Update Successful"
 | 
			
		||||
echo -e "\n ⚠️  Ensure you set resources back to normal settings \n"
 | 
			
		||||
exit;
 | 
			
		||||
fi
 | 
			
		||||
if [ "$UPD" == "2" ]; then
 | 
			
		||||
msg_info "Stopping Vaultwarden"
 | 
			
		||||
systemctl stop vaultwarden.service
 | 
			
		||||
msg_ok "Stopped Vaultwarden"
 | 
			
		||||
 | 
			
		||||
msg_info "Updating Web-Vault"
 | 
			
		||||
curl -fsSLO https://github.com/dani-garcia/bw_web_builds/releases/download/$VWRELEASE/bw_web_$VWRELEASE.tar.gz &>/dev/null
 | 
			
		||||
  if [ -d "/var/lib/vaultwarden" ]; then
 | 
			
		||||
      tar -xzf bw_web_$VWRELEASE.tar.gz -C /var/lib/vaultwarden/ &>/dev/null
 | 
			
		||||
  else
 | 
			
		||||
      tar -zxf bw_web_$VWRELEASE.tar.gz -C /opt/vaultwarden/ &>/dev/null
 | 
			
		||||
  fi
 | 
			
		||||
msg_ok "Updated Web-Vault"
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm bw_web_$VWRELEASE.tar.gz
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
msg_info "Starting Vaultwarden"
 | 
			
		||||
systemctl start vaultwarden.service
 | 
			
		||||
msg_ok "Started Vaultwarden"
 | 
			
		||||
msg_ok "Update Successful"
 | 
			
		||||
exit;
 | 
			
		||||
fi
 | 
			
		||||
}
 | 
			
		||||
clear
 | 
			
		||||
if ! command -v pveversion >/dev/null 2>&1; then update_script; else install_script; fi
 | 
			
		||||
start_script
 | 
			
		||||
if [ "$VERB" == "yes" ]; then set -x; fi
 | 
			
		||||
if [ "$CT_TYPE" == "1" ]; then
 | 
			
		||||
  FEATURES="nesting=1,keyctl=1"
 | 
			
		||||
| 
						 | 
				
			
			@ -379,7 +288,6 @@ fi
 | 
			
		|||
TEMP_DIR=$(mktemp -d)
 | 
			
		||||
pushd $TEMP_DIR >/dev/null
 | 
			
		||||
export VERBOSE=$VERB
 | 
			
		||||
export STD=$VERB2
 | 
			
		||||
export SSH_ROOT=${SSH}
 | 
			
		||||
export CTID=$CT_ID
 | 
			
		||||
export PCT_OSTYPE=$var_os
 | 
			
		||||
		Loading…
	
		Reference in New Issue