diff --git a/infra-compose-files/setup_router.sh b/infra-compose-files/setup_router.sh index 72d6a0e..ded1939 100644 --- a/infra-compose-files/setup_router.sh +++ b/infra-compose-files/setup_router.sh @@ -1,9 +1,6 @@ # Usage: script - - - nextip(){ IP=$1 IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $IP | sed -e 's/\./ /g'`) @@ -20,7 +17,13 @@ broadcast(){ echo "$NEXT_IP" } - +endrangeip(){ + IP=$1 + IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $IP | sed -e 's/\./ /g'`) + NEXT_IP_HEX=$(printf %.8X `echo $(( 0x$IP_HEX + 5 ))`) + NEXT_IP=$(printf '%d.%d.%d.%d\n' `echo $NEXT_IP_HEX | sed -r 's/(..)/0x\1 /g'`) + echo "$NEXT_IP" +} previousip(){ IP=$1 @@ -32,12 +35,11 @@ previousip(){ - NETWORK=$(previousip $2) HOST=$2 BROADCAST=$(broadcast $NETWORK) BEGINRANGE=$(nextip $HOST) -ENDRANGE=$(previousip $BROADCAST) +ENDRANGE=$(endrangeip $NETWORK) echo Configuring Host: gateway$1 @@ -75,3 +77,23 @@ sudo service bind9 restart sudo /etc/init.d/radvd restart netplan apply + + +sudo apt-get install -y -q docker.io less vim lsof strace nmap + + +mkdir /iredmail # Create a new directory or use any directory + # you prefer. `/iredmail/` is just an example +cd /iredmail +touch iredmail-docker.conf + +echo HOSTNAME=mail.user$i-lab.com >> iredmail-docker.conf +echo FIRST_MAIL_DOMAIN=user$i-lab.com >> iredmail-docker.conf +echo FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=4XVjGX45rpZe56cwNNEj >> iredmail-docker.conf +echo MLMMJADMIN_API_TOKEN=$(openssl rand -base64 32) >> iredmail-docker.conf +echo ROUNDCUBE_DES_KEY=$(openssl rand -base64 24) >> iredmail-docker.conf + +cd /iredmail +mkdir -p data/{backup,clamav,custom,imapsieve_copy,mailboxes,mlmmj,mlmmj-archive,mysql,sa_rules,ssl,postfix_queue} + +docker run --rm --name iredmail --env-file iredmail-docker.conf --hostname mail.user$i-lab.com -p 80:80 -p 443:443 -p 110:110 -p 995:995 -p 143:143 -p 993:993 -p 25:25 -p 465:465 -p 587:587 -v /iredmail/data/backup:/var/vmail/backup -v /iredmail/data/mailboxes:/var/vmail/vmail1 -v /iredmail/data/mlmmj:/var/vmail/mlmmj -v /iredmail/data/mlmmj-archive:/var/vmail/mlmmj-archive -v /iredmail/data/imapsieve_copy:/var/vmail/imapsieve_copy -v /iredmail/data/custom:/opt/iredmail/custom -v /iredmail/data/ssl:/opt/iredmail/ssl -v /iredmail/data/mysql:/var/lib/mysql -v /iredmail/data/clamav:/var/lib/clamav -v /iredmail/data/sa_rules:/var/lib/spamassassin -v /iredmail/data/postfix_queue:/var/spool/postfix -d iredmail/mariadb:stable