forked from bashclub/zamba-lxc-toolbox
		
	Reworked install.sh, implemented #6
This commit is contained in:
		
							
								
								
									
										107
									
								
								install.sh
									
									
									
									
									
								
							
							
						
						
									
										107
									
								
								install.sh
									
									
									
									
									
								
							@@ -19,6 +19,59 @@
 | 
			
		||||
# Load configuration file
 | 
			
		||||
source ./zamba.conf
 | 
			
		||||
 | 
			
		||||
LXC_MP="0"
 | 
			
		||||
LXC_UNPRIVILEGED="1"
 | 
			
		||||
LXC_NESTING="0"
 | 
			
		||||
 | 
			
		||||
select opt in just_lxc zmb-standalone zmb-member zmb-ad mailpiler matrix quit; do
 | 
			
		||||
  case $opt in
 | 
			
		||||
    deb-unpriv)
 | 
			
		||||
      echo "Debian-only LXC container unprivileged mode selected"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    deb-priv)
 | 
			
		||||
      echo "Debian-only LXC container privileged mode selected"
 | 
			
		||||
      LXC_UNPRIVILEGED="0"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-standalone)
 | 
			
		||||
      echo "Configuring LXC container '$opt'!"
 | 
			
		||||
      LXC_MP="1"
 | 
			
		||||
      LXC_UNPRIVILEGED="0"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-member)
 | 
			
		||||
      echo "Configuring LXC container '$opt'!"
 | 
			
		||||
      LXC_MP="1"
 | 
			
		||||
      LXC_UNPRIVILEGED="0"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-ad)
 | 
			
		||||
      echo "Selected Zamba AD DC"
 | 
			
		||||
      LXC_NESTING="1"
 | 
			
		||||
      LXC_UNPRIVILEGED="0"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    mailpiler)
 | 
			
		||||
      echo "Configuring LXC container for '$opt'!"
 | 
			
		||||
      LXC_NESTING="1"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    matrix)
 | 
			
		||||
      echo "Install Matrix chat server and element web service"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    quit)
 | 
			
		||||
      echo "Script aborted by user interaction."
 | 
			
		||||
      exit 0
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      echo "Invalid option! Exiting..."
 | 
			
		||||
      exit 1
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# CHeck is the newest template available, else download it.
 | 
			
		||||
DEB_LOC=$(pveam list $LXC_TEMPLATE_STORAGE | grep debian-10-standard | cut -d'_' -f2)
 | 
			
		||||
DEB_REP=$(pveam available --section system | grep debian-10-standard | cut -d'_' -f2)
 | 
			
		||||
@@ -53,58 +106,16 @@ else
 | 
			
		||||
 VLAN=""
 | 
			
		||||
fi
 | 
			
		||||
# Reconfigure conatiner
 | 
			
		||||
pct set $LXC_NBR -memory $LXC_MEM -swap $LXC_SWAP -hostname $LXC_HOSTNAME \-nameserver $LXC_DNS -searchdomain $LXC_DOMAIN -onboot 1 -timezone Europe/Berlin -net0 name=eth0,bridge=$LXC_BRIDGE,firewall=1,gw=$LXC_GW,ip=$LXC_IP,type=veth$VLAN;
 | 
			
		||||
pct set $LXC_NBR -memory $LXC_MEM -swap $LXC_SWAP -hostname $LXC_HOSTNAME \-nameserver $LXC_DNS -searchdomain $LXC_DOMAIN -onboot 1 -timezone Europe/Berlin -features nesting=$LXC_NESTING -net0 name=eth0,bridge=$LXC_BRIDGE,firewall=1,gw=$LXC_GW,ip=$LXC_IP,type=veth$VLAN;
 | 
			
		||||
sleep 2
 | 
			
		||||
 | 
			
		||||
if [ $LXC_MP -gt 0 ]; then
 | 
			
		||||
  pct set $LXC_NBR -mp0 $LXC_SHAREFS_STORAGE:$LXC_SHAREFS_SIZE,mp=/$LXC_SHAREFS_MOUNTPOINT
 | 
			
		||||
fi
 | 
			
		||||
sleep 2;
 | 
			
		||||
 | 
			
		||||
PS3="Select the Server-Function: "
 | 
			
		||||
 | 
			
		||||
select opt in just_lxc zmb-standalone zmb-member zmb-ad mailpiler matrix quit; do
 | 
			
		||||
  case $opt in
 | 
			
		||||
    just_lxc)
 | 
			
		||||
      echo "Debian-only LXC container selected"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-standalone)
 | 
			
		||||
      echo "Configuring LXC container '$opt'!"
 | 
			
		||||
      pct set $LXC_NBR -mp0 $LXC_SHAREFS_STORAGE:$LXC_SHAREFS_SIZE,mp=/$LXC_SHAREFS_MOUNTPOINT
 | 
			
		||||
      sleep 2;
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-member)
 | 
			
		||||
      echo "Configuring LXC container '$opt'!"
 | 
			
		||||
      pct set $LXC_NBR -mp0 $LXC_SHAREFS_STORAGE:$LXC_SHAREFS_SIZE,mp=/$LXC_SHAREFS_MOUNTPOINT
 | 
			
		||||
      sleep 2;
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    zmb-ad)
 | 
			
		||||
      echo "Selected Zamba AD DC"
 | 
			
		||||
      # Enable nesting for ntp service
 | 
			
		||||
      pct set $LXC_NBR -features nesting=1
 | 
			
		||||
      sleep 2
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    mailpiler)
 | 
			
		||||
      echo "Configuring LXC container for '$opt'!"
 | 
			
		||||
      pct set $LXC_NBR -features nesting=1
 | 
			
		||||
      sleep 2;
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    matrix)
 | 
			
		||||
      echo "Install Matrix chat server and element web service"
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    quit)
 | 
			
		||||
      echo "Script aborted by user interaction."
 | 
			
		||||
      exit 0
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      echo "Invalid option! Exiting..."
 | 
			
		||||
      exit 1
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
pct start $LXC_NBR;
 | 
			
		||||
sleep 5;
 | 
			
		||||
# Set the root password and key
 | 
			
		||||
 
 | 
			
		||||
@@ -23,10 +23,6 @@ LXC_SHAREFS_SIZE="100"
 | 
			
		||||
LXC_SHAREFS_STORAGE="local-zfs"
 | 
			
		||||
LXC_SHAREFS_MOUNTPOINT="tank"
 | 
			
		||||
 | 
			
		||||
# Define whether the container will be created in unprivileged (1) or privileged (0) mode
 | 
			
		||||
# For 'zmb_standalone', 'zmb_pdc', 'zmb_member' and 'mailpiler' the container needs to be created with 'unprivileged=0'
 | 
			
		||||
LXC_UNPRIVILEGED="0"
 | 
			
		||||
 | 
			
		||||
# Size of the RAM assigned to the container
 | 
			
		||||
LXC_MEM="1024"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user