@ -79,9 +79,9 @@ show_menu2(){
}
option_picked( ) {
message = ${ @ :- " ${ CL } Error: No message passed " }
message 2 = ${ @ :- " ${ CL } Error: No message passed " }
printf " ${ YW } ${ message1 } ${ CL } \n "
printf " ${ YW } ${ message } ${ CL } \n "
printf " ${ YW } ${ message 2 } ${ CL } \n "
}
show_menu2
while [ $opt != '' ]
@ -114,7 +114,100 @@ while [ $opt != '' ]
esac
fi
done
show_menu3( ) {
printf " ${ RD } If Using ZFS, You Have Storage Driver Options ${ CL } \n "
printf " ${ RD } Non ZFS, Select Standard overlay2 Storage Driver ${ CL } \n "
printf " ${ YW } 1) ${ GN } Use fuse-overlayfs Storage Driver ${ CL } \n "
printf " ${ YW } 2) ${ GN } Use Standard overlay2 Storage Driver ${ CL } \n "
printf " Please choose a Storage Driver and hit enter or ${ RD } x ${ CL } to exit. "
read opt
}
option_picked( ) {
message3 = ${ @ :- " ${ CL } Error: No message passed " }
printf " ${ YW } ${ message1 } ${ CL } \n "
printf " ${ YW } ${ message2 } ${ CL } \n "
printf " ${ YW } ${ message3 } ${ CL } \n "
}
show_menu3
while [ $opt != '' ]
do
if [ $opt = '' ] ; then
exit;
else
case $opt in
1) clear;
header_info;
option_picked "Using fuse-overlayfs Storage Driver" ;
STORAGE_DRIVER = "fuse"
break;
; ;
2) clear;
header_info;
option_picked "Using overlay2 Storage Driver" ;
STORAGE_DRIVER = " "
break;
; ;
x) exit;
; ;
\n ) exit;
; ;
*) clear;
option_picked "Please choose a Storage Driver from the menu" ;
show_menu3;
; ;
esac
fi
done
show_menu4( ) {
printf " ${ YW } 1) ${ GN } Automatic DHCP ${ CL } \n "
printf " ${ YW } 2) ${ GN } Manual DHCP ${ CL } \n "
printf " Please choose a DHCP Type and hit enter or ${ RD } x ${ CL } to exit. "
read opt
}
option_picked( ) {
message4 = ${ @ :- " ${ CL } Error: No message passed " }
printf " ${ YW } ${ message1 } ${ CL } \n "
printf " ${ YW } ${ message2 } ${ CL } \n "
printf " ${ YW } ${ message3 } ${ CL } \n "
printf " ${ YW } ${ message4 } ${ CL } \n "
}
show_menu4
while [ $opt != '' ]
do
if [ $opt = '' ] ; then
exit;
else
case $opt in
1) clear;
header_info;
option_picked "Using Automatic DHCP" ;
DHCP = " "
break;
; ;
2) clear;
header_info;
option_picked "Using Manual DHCP" ;
DHCP = "1"
break;
; ;
x) exit;
; ;
\n ) exit;
; ;
*) clear;
option_picked "Please choose a DHCP Type from the menu" ;
show_menu4;
; ;
esac
fi
done
set -o errexit
set -o errtrace
set -o nounset
@ -161,8 +254,14 @@ function cleanup() {
popd >/dev/null
rm -rf $TEMP_DIR
}
if [ " $IM " = = "1" ] ; then
if [ " $IM " = = "1" ] && [ " $STORAGE_DRIVER " = = " " ] ; then
FEATURES = "nesting=1,keyctl=1"
elif
[ " $IM " = = "1" ] && [ " $STORAGE_DRIVER " = = "fuse" ] ; then
FEATURES = "nesting=1,keyctl=1,fuse=1"
elif
[ " $IM " = = "0" ] && [ " $STORAGE_DRIVER " = = "fuse" ] ; then
FEATURES = "nesting=1,fuse=1"
else
FEATURES = "nesting=1"
fi
@ -195,11 +294,31 @@ cat <<EOF >> $LXC_CONFIG
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
EOF
if [ " $DHCP " = = "1" ] ; then
MAC = $( pct config $CTID \
| grep -i hwaddr \
| awk '{print substr($2, 31, length($3) 17 ) }' ) \
echo -e " MAC Address ${ BL } $MAC ${ CL } "
dhcp_reservation( ) {
printf "Please set DHCP reservation and press Enter."
read
}
dhcp_reservation
fi
echo -en " ${ GN } Starting LXC Container... "
pct start $CTID
echo -e " ${ CM } ${ CL } \r "
if [ " $STORAGE_TYPE " = = "zfspool" ] && [ " $STORAGE_DRIVER " = = "fuse" ] ; then
pct push $CTID fuse-overlayfs /usr/local/bin/fuse-overlayfs -perms 755
info " Using ${ BL } fuse-overlayfs ${ CL } Storage Driver. "
else
info " Using ${ BL } overlay2 ${ CL } Storage Driver. "
fi
alias lxc-cmd= " lxc-attach -n $CTID -- "
lxc-cmd bash -c " $( wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/setup/homeassistant-install.sh) " || exit