Merge remote-tracking branch 'upstream/main'

This commit is contained in:
Sam Heinz
2025-01-17 19:02:30 +10:00
39 changed files with 1257 additions and 83 deletions

View File

@@ -1,4 +1,4 @@
### Generated on 01-10-2025
### Generated on 01-16-2025
##################################################
### 2fauth.sh
@@ -421,6 +421,21 @@ APP=Dockge
/_____/\____/\___/_/|_|\__, /\___/
/____/
### dotnetaspwebapi.sh
APP=Dotnet ASP Web API
____ __ __ ___ _____ ____ _ __ __
/ __ \____ / /_____ ___ / /_ / | / ___// __ \ | | / /__ / /_
/ / / / __ \/ __/ __ \/ _ \/ __/ / /| | \__ \/ /_/ / | | /| / / _ \/ __ \
/ /_/ / /_/ / /_/ / / / __/ /_ / ___ |___/ / ____/ | |/ |/ / __/ /_/ /
/_____/\____/\__/_/ /_/\___/\__/ /_/ |_/____/_/ |__/|__/\___/_.___/
___ ____ ____
/ | / __ \/ _/
/ /| | / /_/ // /
/ ___ |/ ____// /
/_/ |_/_/ /___/
### emby.sh
APP=Emby
______ __
@@ -529,6 +544,15 @@ APP=Frigate
/_/ /_/ /_/\__, /\__,_/\__/\___/
/____/
### ghost.sh
APP=Ghost
________ __
/ ____/ /_ ____ _____/ /_
/ / __/ __ \/ __ \/ ___/ __/
/ /_/ / / / / /_/ (__ ) /_
\____/_/ /_/\____/____/\__/
### gitea.sh
APP=Gitea
_______ __
@@ -1222,6 +1246,15 @@ APP=OneDev
\____/_/ /_/\___/_____/\___/|___/
### opengist.sh
APP=Opengist
____ _ __
/ __ \____ ___ ____ ____ _(_)____/ /_
/ / / / __ \/ _ \/ __ \/ __ `/ / ___/ __/
/ /_/ / /_/ / __/ / / / /_/ / (__ ) /_
\____/ .___/\___/_/ /_/\__, /_/____/\__/
/_/ /____/
### openhab.sh
APP=openHAB
__ _____ ____
@@ -1339,6 +1372,15 @@ APP=PhotoPrism
/_/ /_/ /_/\____/\__/\____/_/ /_/ /_/____/_/ /_/ /_/
### phpipam.sh
APP=phpIPAM
__ ________ ___ __ ___
____ / /_ ____ / _/ __ \/ | / |/ /
/ __ \/ __ \/ __ \ / // /_/ / /| | / /|_/ /
/ /_/ / / / / /_/ // // ____/ ___ |/ / / /
/ .___/_/ /_/ .___/___/_/ /_/ |_/_/ /_/
/_/ /_/
### pialert.sh
APP=PiAlert
____ _ ___ __ __
@@ -1948,6 +1990,15 @@ APP=Wireguard
|__/|__/_/_/ \___/\__, /\__,_/\__,_/_/ \__,_/
/____/
### wordpress.sh
APP=Wordpress
_ __ __
| | / /___ _________/ /___ ________ __________
| | /| / / __ \/ ___/ __ / __ \/ ___/ _ \/ ___/ ___/
| |/ |/ / /_/ / / / /_/ / /_/ / / / __(__ |__ )
|__/|__/\____/_/ \__,_/ .___/_/ \___/____/____/
/_/
### yunohost.sh
APP=YunoHost
__ __ __ __ __

View File

@@ -35,7 +35,7 @@ color() {
INFO="${TAB}💡${TAB}${CL}"
OS="${TAB}🖥️${TAB}${CL}"
OSVERSION="${TAB}🌟${TAB}${CL}"
CONTAINERTYPE="${TAB}📦${TAB}${CL}"
CONTAINERTYPE="${TAB}📦${TAB}${CL}"
DISKSIZE="${TAB}💾${TAB}${CL}"
CPUCORE="${TAB}🧠${TAB}${CL}"
RAMSIZE="${TAB}🛠️${TAB}${CL}"
@@ -282,8 +282,9 @@ base_settings() {
MAC=""
VLAN=""
SSH="no"
SSH_AUTHORIZED_KEY=""
TAGS="community-script;"
# Override default settings with variables from ct script
CT_TYPE=${var_unprivileged:-$CT_TYPE}
DISK_SIZE=${var_disk:-$DISK_SIZE}
@@ -291,7 +292,7 @@ base_settings() {
RAM_SIZE=${var_ram:-$RAM_SIZE}
VERB=${var_verbose:-$VERBOSE}
TAGS="${TAGS}${var_tags:-}"
# Since these 2 are only defined outside of default_settings function, we add a temporary fallback. TODO: To align everything, we should add these as constant variables (e.g. OSTYPE and OSVERSION), but that would currently require updating the default_settings function for all existing scripts
if [ -z "$var_os" ]; then
var_os="debian"
@@ -313,9 +314,9 @@ echo_default() {
echo -e "${OS}${BOLD}${DGN}Operating System: ${BGN}$var_os${CL}"
echo -e "${OSVERSION}${BOLD}${DGN}Version: ${BGN}$var_version${CL}"
echo -e "${CONTAINERTYPE}${BOLD}${DGN}Container Type: ${BGN}$CT_TYPE_DESC${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE} GB${CL}"
echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE} MiB${CL}"
echo -e "${CONTAINERID}${BOLD}${DGN}Container ID: ${BGN}${CT_ID}${CL}"
if [ "$VERB" == "yes" ]; then
echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}Enabled${CL}"
@@ -462,13 +463,13 @@ advanced_settings() {
if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then
if [ -z "$DISK_SIZE" ]; then
DISK_SIZE="$var_disk"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE} GB${CL}"
else
if ! [[ $DISK_SIZE =~ $INTEGER ]]; then
echo -e "{INFO}${HOLD}${RD} DISK SIZE MUST BE AN INTEGER NUMBER!${CL}"
advanced_settings
fi
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE}GB${CL}"
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE} GB${CL}"
fi
else
exit_script
@@ -488,9 +489,9 @@ advanced_settings() {
if RAM_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate RAM in MiB" 8 58 $var_ram --title "RAM" 3>&1 1>&2 2>&3); then
if [ -z "$RAM_SIZE" ]; then
RAM_SIZE="$var_ram"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE} MiB${CL}"
else
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE}MiB${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE} MiB${CL}"
fi
else
exit_script
@@ -627,9 +628,14 @@ advanced_settings() {
if ADV_TAGS=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Custom Tags?[If you remove all, there will be no tags!]" 8 58 ${TAGS} --title "Advanced Tags" 3>&1 1>&2 2>&3); then
if [ -n "${ADV_TAGS}" ]; then
ADV_TAGS=${ADV_TAGS:-""}
ADV_TAGS=$(echo "$ADV_TAGS" | tr -d '[:space:]')
ADV_TAGS=$(echo "$ADV_TAGS" | tr -d '[:space:]') # Remove whitespace from ADV_TAGS
if [[ "$ADV_TAGS" != *"community-script"* ]]; then
TAGS="community-script;${ADV_TAGS}"
else
TAGS="${ADV_TAGS}" # ADV_TAGS already contains "community-script"
fi
else
TAGS="community-script;"
fi
echo -e "${NETWORK}${BOLD}${DGN}Tags: ${BGN}$TAGS${CL}"
else
@@ -648,6 +654,15 @@ advanced_settings() {
echo -e "${ROOTSSH}${BOLD}${DGN}Root SSH Access: ${BGN}$SSH${CL}"
fi
if [[ "${SSH}" == "yes" ]]; then
SSH_AUTHORIZED_KEY="$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "SSH Authorized key for root (leave empty for none)" 8 58 --title "SSH Key" 3>&1 1>&2 2>&3)"
if [[ -z "${SSH_AUTHORIZED_KEY}" ]]; then
echo "Warning: No SSH key provided."
fi
else
SSH_AUTHORIZED_KEY=""
fi
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
VERB="yes"
else
@@ -695,15 +710,15 @@ install_script() {
header_info
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME${CL}"
VERB="no"
base_settings "$VERB"
base_settings "$VERB"
echo_default
break
;;
2)
header_info
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${SEARCH}${BL}Verbose)${CL}"
echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${SEARCH}Verbose)${CL}"
VERB="yes"
base_settings "$VERB"
base_settings "$VERB"
echo_default
break
;;
@@ -727,13 +742,13 @@ install_script() {
check_container_resources() {
# Check actual RAM & Cores
current_ram=$(free -m | awk 'NR==2{print $2}')
current_cpu=$(nproc)
current_cpu=$(nproc)
# Check whether the current RAM is less than the required RAM or the CPU cores are less than required
if [[ "$current_ram" -lt "$var_ram" ]] || [[ "$current_cpu" -lt "$var_cpu" ]]; then
echo -e "\n${INFO}${HOLD} ${GN}Required: ${var_cpu} CPU, ${var_ram}MB RAM ${CL}| ${RD}Current: ${current_cpu} CPU, ${current_ram}MB RAM${CL}"
echo -e "${YWB}Please ensure that the ${APP} LXC is configured with at least ${var_cpu} vCPU and ${var_ram} MB RAM for the build process.${CL}\n"
read -r -p "${INFO}${HOLD} May cause data loss! ${INFO} Continue update with under-provisioned LXC? <yes/No> " prompt
read -r -p "${INFO}${HOLD} May cause data loss! ${INFO} Continue update with under-provisioned LXC? <yes/No> " prompt
# Check if the input is 'yes', otherwise exit with status 1
if [[ ! ${prompt,,} =~ ^(yes)$ ]]; then
echo -e "${CROSS}${HOLD} ${YWB}Exiting based on user input.${CL}"
@@ -752,7 +767,7 @@ check_container_storage() {
if (( usage > 80 )); then
# Prompt the user for confirmation to continue
echo -e "${INFO}${HOLD} ${YWB}Warning: Storage is dangerously low (${usage}%).${CL}"
read -r -p "Continue anyway? <y/N> " prompt
read -r -p "Continue anyway? <y/N> " prompt
# Check if the input is 'y' or 'yes', otherwise exit with status 1
if [[ ! ${prompt,,} =~ ^(y|yes)$ ]]; then
echo -e "${CROSS}${HOLD}${YWB}Exiting based on user input.${CL}"
@@ -810,6 +825,7 @@ build_container() {
export PASSWORD="$PW"
export VERBOSE="$VERB"
export SSH_ROOT="${SSH}"
export SSH_AUTHORIZED_KEY
export CTID="$CT_ID"
export CTTYPE="$CT_TYPE"
export PCT_OSTYPE="$var_os"

View File

@@ -254,4 +254,11 @@ EOF
fi
echo "bash -c \"\$(wget -qLO - https://github.com/asylumexp/Proxmox/raw/main/ct/${app}.sh)\"" >/usr/bin/update
chmod +x /usr/bin/update
if [[ -n "${SSH_AUTHORIZED_KEY}" ]]; then
mkdir -p /root/.ssh
echo "${SSH_AUTHORIZED_KEY}" > /root/.ssh/authorized_keys
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
fi
}