| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							| 
									
										
										
										
											2023-03-23 12:56:13 -04:00
										 |  |  | source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func) | 
					
						
							| 
									
										
										
										
											2024-01-01 12:13:05 -05:00
										 |  |  | # Copyright (c) 2021-2024 tteck | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  | # Author: tteck (tteckster) | 
					
						
							|  |  |  | # License: MIT | 
					
						
							|  |  |  | # https://github.com/tteck/Proxmox/raw/main/LICENSE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function header_info { | 
					
						
							|  |  |  |   clear | 
					
						
							|  |  |  |   cat <<"EOF" | 
					
						
							|  |  |  |  _    __            ____                          __          | 
					
						
							|  |  |  | | |  / /___ ___  __/ / /__      ______ __________/ /__  ____  | 
					
						
							|  |  |  | | | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __  / _ \/ __ \
 | 
					
						
							|  |  |  | | |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / /  / /_/ /  __/ / / / | 
					
						
							|  |  |  | |___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/   \__,_/\___/_/ /_/  | 
					
						
							|  |  |  |  Alpine                                                  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EOF | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | header_info | 
					
						
							|  |  |  | echo -e "Loading..." | 
					
						
							|  |  |  | APP="Alpine-Vaultwarden" | 
					
						
							|  |  |  | var_disk="0.3" | 
					
						
							|  |  |  | var_cpu="1" | 
					
						
							|  |  |  | var_ram="256" | 
					
						
							|  |  |  | var_os="alpine" | 
					
						
							| 
									
										
										
										
											2024-02-12 06:55:25 -05:00
										 |  |  | var_version="3.19" | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  | variables | 
					
						
							|  |  |  | color | 
					
						
							|  |  |  | catch_errors | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function default_settings() { | 
					
						
							|  |  |  |   CT_TYPE="1" | 
					
						
							| 
									
										
										
										
											2023-03-25 06:12:45 -04:00
										 |  |  |   PW="" | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |   CT_ID=$NEXTID | 
					
						
							|  |  |  |   HN=$NSAPP | 
					
						
							|  |  |  |   DISK_SIZE="$var_disk" | 
					
						
							|  |  |  |   CORE_COUNT="$var_cpu" | 
					
						
							|  |  |  |   RAM_SIZE="$var_ram" | 
					
						
							|  |  |  |   BRG="vmbr0" | 
					
						
							| 
									
										
										
										
											2023-05-13 21:22:09 -04:00
										 |  |  |   NET="dhcp" | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |   GATE="" | 
					
						
							| 
									
										
										
										
											2024-01-12 15:00:42 -05:00
										 |  |  |   APT_CACHER="" | 
					
						
							|  |  |  |   APT_CACHER_IP="" | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |   DISABLEIP6="no" | 
					
						
							|  |  |  |   MTU="" | 
					
						
							|  |  |  |   SD="" | 
					
						
							|  |  |  |   NS="" | 
					
						
							|  |  |  |   MAC="" | 
					
						
							|  |  |  |   VLAN="" | 
					
						
							|  |  |  |   SSH="no" | 
					
						
							|  |  |  |   VERB="no" | 
					
						
							|  |  |  |   echo_default | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function update_script() { | 
					
						
							| 
									
										
										
										
											2023-03-24 13:26:04 -04:00
										 |  |  |   if ! apk -e info newt >/dev/null 2>&1; then | 
					
						
							|  |  |  |     apk add -q newt | 
					
						
							|  |  |  |   fi | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |   while true; do | 
					
						
							|  |  |  |     CHOICE=$( | 
					
						
							| 
									
										
										
										
											2023-09-09 05:13:17 -04:00
										 |  |  |       whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --menu "Select option" 11 58 2 \
 | 
					
						
							| 
									
										
										
										
											2023-03-24 08:07:49 -04:00
										 |  |  |         "1" "Update Vaultwarden" \
 | 
					
						
							| 
									
										
										
										
											2023-04-10 14:16:47 +02:00
										 |  |  |         "2" "Reset ADMIN_TOKEN" 3>&2 2>&1 1>&3 | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |     ) | 
					
						
							|  |  |  |     exit_status=$? | 
					
						
							|  |  |  |     if [ $exit_status == 1 ]; then | 
					
						
							|  |  |  |       clear | 
					
						
							|  |  |  |       exit-script | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  |     header_info | 
					
						
							|  |  |  |     case $CHOICE in | 
					
						
							|  |  |  |     1) | 
					
						
							| 
									
										
										
										
											2024-08-18 22:30:57 -04:00
										 |  |  |       apk update && apk upgrade && rc-service vaultwarden restart -q | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |       exit | 
					
						
							|  |  |  |       ;; | 
					
						
							|  |  |  |     2) | 
					
						
							| 
									
										
										
										
											2023-09-09 05:13:17 -04:00
										 |  |  |       if NEWTOKEN=$(whiptail --backtitle "Proxmox VE Helper Scripts" --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then | 
					
						
							| 
									
										
										
										
											2023-04-10 14:16:47 +02:00
										 |  |  |         if [[ -z "$NEWTOKEN" ]]; then exit-script; fi | 
					
						
							|  |  |  |         if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi | 
					
						
							|  |  |  |         TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) | 
					
						
							|  |  |  |         if [[ ! -f /var/lib/vaultwarden/config.json ]]; then | 
					
						
							|  |  |  |           sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden | 
					
						
							|  |  |  |         else | 
					
						
							|  |  |  |           sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json | 
					
						
							|  |  |  |         fi | 
					
						
							|  |  |  |         rc-service vaultwarden restart -q | 
					
						
							|  |  |  |       fi       | 
					
						
							| 
									
										
										
										
											2023-03-22 20:48:20 -04:00
										 |  |  |       clear | 
					
						
							|  |  |  |       exit | 
					
						
							|  |  |  |       ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  |   done | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | start | 
					
						
							|  |  |  | build_container | 
					
						
							|  |  |  | description | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | msg_ok "Completed Successfully!\n" | 
					
						
							|  |  |  | echo -e "${APP} should be reachable by going to the following URL.
 | 
					
						
							|  |  |  |          ${BL}http://${IP}:8000${CL} \n"
 |