|  | @ -64,7 +64,7 @@ function install() { | 
		
	
		
			
				|  |  |     lxc exec "$CONTAINER" -- bash <<EOF |  |  |     lxc exec "$CONTAINER" -- bash <<EOF | 
		
	
		
			
				|  |  |         set -Eeuo pipefail |  |  |         set -Eeuo pipefail | 
		
	
		
			
				|  |  |         apt-get update && apt-get dist-upgrade -y |  |  |         apt-get update && apt-get dist-upgrade -y | 
		
	
		
			
				|  |  |         apt-get install -y nftables nginx ssl-cert libnginx-mod-http-subs-filter certbot python3-certbot-nginx |  |  |  | 
		
	
		
			
				|  |  |  |  |  |         apt-get install -y nginx ssl-cert libnginx-mod-http-subs-filter certbot python3-certbot-nginx | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  |         echo "registering with your default credential email <$credential_email>" |  |  |         echo "registering with your default credential email <$credential_email>" | 
		
	
		
			
				|  |  |         certbot register --agree-tos --email $credential_email --no-eff-email || echo "already resgistered!" |  |  |         certbot register --agree-tos --email $credential_email --no-eff-email || echo "already resgistered!" | 
		
	
	
		
			
				|  | @ -80,37 +80,10 @@ EOF | 
		
	
		
			
				|  |  |         echo "copying Nginx banner to container <$CONTAINER> ... " |  |  |         echo "copying Nginx banner to container <$CONTAINER> ... " | 
		
	
		
			
				|  |  |         lxc file push --uid 0 --gid 0 "$MIAOU_BASEDIR/templates/nginx/snippets/banner_$TARGET.conf" "$CONTAINER/etc/nginx/snippets/banner_$TARGET.conf" |  |  |         lxc file push --uid 0 --gid 0 "$MIAOU_BASEDIR/templates/nginx/snippets/banner_$TARGET.conf" "$CONTAINER/etc/nginx/snippets/banner_$TARGET.conf" | 
		
	
		
			
				|  |  |         lxc file push --uid 0 --gid 0 "$MIAOU_BASEDIR/templates/nginx/snippets/banner_exp.conf" "$CONTAINER/etc/nginx/snippets/banner_exp.conf" |  |  |         lxc file push --uid 0 --gid 0 "$MIAOU_BASEDIR/templates/nginx/snippets/banner_exp.conf" "$CONTAINER/etc/nginx/snippets/banner_exp.conf" | 
		
	
		
			
				|  |  |         echo "copying files over container <$CONTAINER> ... OK" |  |  |  | 
		
	
		
			
				|  |  |  |  |  |         echo "copying files to container <$CONTAINER> ... OK" | 
		
	
		
			
				|  |  |     else |  |  |     else | 
		
	
		
			
				|  |  |         echo "no Nginx banner on PROD!" |  |  |         echo "no Nginx banner on PROD!" | 
		
	
		
			
				|  |  |     fi |  |  |     fi | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |     echo "populate nftables entries into yaml" |  |  |  | 
		
	
		
			
				|  |  |     local wan_interface dmz_ip |  |  |  | 
		
	
		
			
				|  |  |     wan_interface=$(ip route show default | cut -d ' ' -f5) |  |  |  | 
		
	
		
			
				|  |  |     dmz_ip=$(host "$CONTAINER.lxd" | cut -d ' ' -f4) |  |  |  | 
		
	
		
			
				|  |  |     yq ".nftables.wan_interface=\"$wan_interface\"" "$EXPANDED_CONF" -i |  |  |  | 
		
	
		
			
				|  |  |     yq ".nftables.dmz_ip=\"$dmz_ip\"" "$EXPANDED_CONF" -i |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  |     local nftables_reloading=false |  |  |  | 
		
	
		
			
				|  |  |     if [[ "$TARGET" != "dev" ]]; then |  |  |  | 
		
	
		
			
				|  |  |         mkdir -p "$MIAOU_CONFIGDIR/nftables.rules.d" |  |  |  | 
		
	
		
			
				|  |  |         echo "nat http/s port to dmz" |  |  |  | 
		
	
		
			
				|  |  |         tera -t "$MIAOU_BASEDIR/templates/nftables/nat.table.j2" "$EXPANDED_CONF" -o "$MIAOU_CONFIGDIR/nftables.rules.d/nat.table" &>/dev/null |  |  |  | 
		
	
		
			
				|  |  |         sudo cp "$MIAOU_CONFIGDIR/nftables.rules.d/nat.table" /etc/nftables.rules.d/nat.table |  |  |  | 
		
	
		
			
				|  |  |         nftables_reloading=true |  |  |  | 
		
	
		
			
				|  |  |     else |  |  |  | 
		
	
		
			
				|  |  |         if [[ -f /etc/nftables.rules.d/nat.table ]]; then |  |  |  | 
		
	
		
			
				|  |  |             sudo_required "remove previous nat.table" |  |  |  | 
		
	
		
			
				|  |  |             sudo rm -f /etc/nftables.rules.d/nat.table |  |  |  | 
		
	
		
			
				|  |  |             nftables_reloading=true |  |  |  | 
		
	
		
			
				|  |  |         fi |  |  |  | 
		
	
		
			
				|  |  |     fi |  |  |  | 
		
	
		
			
				|  |  |     if [[ "$nftables_reloading" == true ]]; then |  |  |  | 
		
	
		
			
				|  |  |         sudo_required "reload nftables" |  |  |  | 
		
	
		
			
				|  |  |         sudo systemctl reload nftables.service |  |  |  | 
		
	
		
			
				|  |  |     fi |  |  |  | 
		
	
		
			
				|  |  | 
 |  |  |  | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  | 
 |  |  | 
 | 
		
	
		
			
				|  |  | # MAIN |  |  | # MAIN | 
		
	
	
		
			
				|  | 
 |