|
|
@ -1,9 +1,16 @@ |
|
|
|
#!/usr/bin/env bash -ex |
|
|
|
#!/usr/bin/env bash -ex |
|
|
|
set -euo pipefail |
|
|
|
set -euo pipefail |
|
|
|
shopt -s inherit_errexit nullglob |
|
|
|
shopt -s inherit_errexit nullglob |
|
|
|
|
|
|
|
APP="Debian" |
|
|
|
|
|
|
|
var_disk="2" |
|
|
|
|
|
|
|
var_cpu="1" |
|
|
|
|
|
|
|
var_ram="512" |
|
|
|
|
|
|
|
var_os="debian" |
|
|
|
|
|
|
|
var_version="11" |
|
|
|
NEXTID=$(pvesh get /cluster/nextid) |
|
|
|
NEXTID=$(pvesh get /cluster/nextid) |
|
|
|
INTEGER='^[0-9]+$' |
|
|
|
INTEGER='^[0-9]+$' |
|
|
|
|
|
|
|
NSAPP=$(echo ${APP,,} | tr -d ' ') |
|
|
|
|
|
|
|
var_install="${NSAPP}-install" |
|
|
|
YW=`echo "\033[33m"` |
|
|
|
YW=`echo "\033[33m"` |
|
|
|
BL=`echo "\033[36m"` |
|
|
|
BL=`echo "\033[36m"` |
|
|
|
RD=`echo "\033[01;31m"` |
|
|
|
RD=`echo "\033[01;31m"` |
|
|
@ -14,8 +21,6 @@ CL=`echo "\033[m"` |
|
|
|
BFR="\\r\\033[K" |
|
|
|
BFR="\\r\\033[K" |
|
|
|
HOLD="-" |
|
|
|
HOLD="-" |
|
|
|
CM="${GN}✓${CL}" |
|
|
|
CM="${GN}✓${CL}" |
|
|
|
APP="Debian" |
|
|
|
|
|
|
|
NSAPP=$(echo ${APP,,} | tr -d ' ') |
|
|
|
|
|
|
|
while true; do |
|
|
|
while true; do |
|
|
|
read -p "This will create a New ${APP} LXC. Proceed(y/n)?" yn |
|
|
|
read -p "This will create a New ${APP} LXC. Proceed(y/n)?" yn |
|
|
|
case $yn in |
|
|
|
case $yn in |
|
|
@ -71,12 +76,12 @@ function default_settings() { |
|
|
|
CT_ID=$NEXTID |
|
|
|
CT_ID=$NEXTID |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$NSAPP${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$NSAPP${CL}" |
|
|
|
HN=$NSAPP |
|
|
|
HN=$NSAPP |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}2${CL}${DGN}GB${CL}" |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}$var_disk${CL}${DGN}GB${CL}" |
|
|
|
DISK_SIZE="2" |
|
|
|
DISK_SIZE="$var_disk" |
|
|
|
echo -e "${DGN}Using ${BGN}1${CL}${DGN}vCPU${CL}" |
|
|
|
echo -e "${DGN}Using ${BGN}$var_cpu${CL}${DGN}vCPU${CL}" |
|
|
|
CORE_COUNT="1" |
|
|
|
CORE_COUNT="$var_cpu" |
|
|
|
echo -e "${DGN}Using ${BGN}512${CL}${DGN}MiB RAM${CL}" |
|
|
|
echo -e "${DGN}Using ${BGN}$var_ram${CL}${DGN}MiB RAM${CL}" |
|
|
|
RAM_SIZE="512" |
|
|
|
RAM_SIZE="$var_ram" |
|
|
|
echo -e "${DGN}Using Bridge ${BGN}vmbr0${CL}" |
|
|
|
echo -e "${DGN}Using Bridge ${BGN}vmbr0${CL}" |
|
|
|
BRG="vmbr0" |
|
|
|
BRG="vmbr0" |
|
|
|
echo -e "${DGN}Using Static IP Address ${BGN}DHCP${CL}" |
|
|
|
echo -e "${DGN}Using Static IP Address ${BGN}DHCP${CL}" |
|
|
@ -150,9 +155,9 @@ header_info |
|
|
|
echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" |
|
|
|
echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" |
|
|
|
echo -e "${DGN}Using CT ID ${BGN}$CT_ID${CL}" |
|
|
|
echo -e "${DGN}Using CT ID ${BGN}$CT_ID${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${YW}Enter a Disk Size, or Press [ENTER] for Default: 2 " |
|
|
|
echo -e "${YW}Enter a Disk Size, or Press [ENTER] for Default: $var_disk " |
|
|
|
read DISK_SIZE |
|
|
|
read DISK_SIZE |
|
|
|
if [ -z $DISK_SIZE ]; then DISK_SIZE="2"; fi; |
|
|
|
if [ -z $DISK_SIZE ]; then DISK_SIZE="$var_disk"; fi; |
|
|
|
if ! [[ $DISK_SIZE =~ $INTEGER ]] ; then echo "ERROR! DISK SIZE MUST HAVE INTEGER NUMBER!"; exit; fi; |
|
|
|
if ! [[ $DISK_SIZE =~ $INTEGER ]] ; then echo "ERROR! DISK SIZE MUST HAVE INTEGER NUMBER!"; exit; fi; |
|
|
|
echo -en "${DGN}Set Disk Size To ${BL}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -en "${DGN}Set Disk Size To ${BL}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -e " ${CM}${CL} \r" |
|
|
|
echo -e " ${CM}${CL} \r" |
|
|
@ -165,9 +170,9 @@ header_info |
|
|
|
echo -e "${DGN}Using CT ID ${BGN}$CT_ID${CL}" |
|
|
|
echo -e "${DGN}Using CT ID ${BGN}$CT_ID${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 1 " |
|
|
|
echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: $var_cpu " |
|
|
|
read CORE_COUNT |
|
|
|
read CORE_COUNT |
|
|
|
if [ -z $CORE_COUNT ]; then CORE_COUNT="1"; fi; |
|
|
|
if [ -z $CORE_COUNT ]; then CORE_COUNT="$var_cpu"; fi; |
|
|
|
echo -en "${DGN}Set Cores To ${BL}$CORE_COUNT${CL}${DGN}vCPU${CL}" |
|
|
|
echo -en "${DGN}Set Cores To ${BL}$CORE_COUNT${CL}${DGN}vCPU${CL}" |
|
|
|
echo -e " ${CM}${CL} \r" |
|
|
|
echo -e " ${CM}${CL} \r" |
|
|
|
sleep 1 |
|
|
|
sleep 1 |
|
|
@ -180,9 +185,9 @@ header_info |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}${DGN}GB${CL}" |
|
|
|
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" |
|
|
|
echo -e "${DGN}Using ${BGN}${CORE_COUNT}${CL}${DGN}vCPU${CL}" |
|
|
|
echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 512 " |
|
|
|
echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: $var_ram " |
|
|
|
read RAM_SIZE |
|
|
|
read RAM_SIZE |
|
|
|
if [ -z $RAM_SIZE ]; then RAM_SIZE="512"; fi; |
|
|
|
if [ -z $RAM_SIZE ]; then RAM_SIZE="$var_ram"; fi; |
|
|
|
echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}${DGN}MiB RAM${CL}" |
|
|
|
echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}${DGN}MiB RAM${CL}" |
|
|
|
echo -e " ${CM}${CL} \n" |
|
|
|
echo -e " ${CM}${CL} \n" |
|
|
|
sleep 1 |
|
|
|
sleep 1 |
|
|
@ -305,12 +310,9 @@ if [ "$CT_TYPE" == "1" ]; then |
|
|
|
FEATURES="nesting=1" |
|
|
|
FEATURES="nesting=1" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
TEMP_DIR=$(mktemp -d) |
|
|
|
|
|
|
|
pushd $TEMP_DIR >/dev/null |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export CTID=$CT_ID |
|
|
|
export CTID=$CT_ID |
|
|
|
export PCT_OSTYPE=debian |
|
|
|
export PCT_OSTYPE=$var_os |
|
|
|
export PCT_OSVERSION=11 |
|
|
|
export PCT_OSVERSION=$var_version |
|
|
|
export PCT_DISK_SIZE=$DISK_SIZE |
|
|
|
export PCT_DISK_SIZE=$DISK_SIZE |
|
|
|
export PCT_OPTIONS=" |
|
|
|
export PCT_OPTIONS=" |
|
|
|
-features $FEATURES |
|
|
|
-features $FEATURES |
|
|
@ -328,7 +330,7 @@ msg_info "Starting LXC Container" |
|
|
|
pct start $CTID |
|
|
|
pct start $CTID |
|
|
|
msg_ok "Started LXC Container" |
|
|
|
msg_ok "Started LXC Container" |
|
|
|
|
|
|
|
|
|
|
|
lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/setup/debian-install.sh)" || exit |
|
|
|
lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/dev/setup/$var_install.sh)" || exit |
|
|
|
|
|
|
|
|
|
|
|
IP=$(pct exec $CTID ip a s dev eth0 | sed -n '/inet / s/\// /p' | awk '{print $2}') |
|
|
|
IP=$(pct exec $CTID ip a s dev eth0 | sed -n '/inet / s/\// /p' | awk '{print $2}') |
|
|
|
|
|
|
|
|
|
|
|