Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 498c03ff authored by Florent VINCENT's avatar Florent VINCENT 👾
Browse files

Merge branch '26.0.8' into 'autodiscover'

# Conflicts:
#   scripts/init-repo.sh
#   templates/docker-compose/docker-compose.yml
parents 5d756425 9466da55
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ CNAME | autoconfig.yourdomain.com | mail.yourdomain.com |
CNAME                 |  autodiscover.yourdomain.com  |  mail.yourdomain.com  |  -
CNAME                 |  spam.yourdomain.com          |  mail.yourdomain.com  |  -
CNAME                 |  welcome.yourdomain.com       |  mail.yourdomain.com  |  -
CNAME                 |  mta-sts.yourdomain.com       |  mail.yourdomain.com  |  -
=================================================================================================================================
=================================================================================================================================

+0 −0

Empty file added.

+8 −4
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ source /mnt/repo-base/scripts/base.sh

DC_DIR="templates/docker-compose/"
cat "${DC_DIR}docker-compose.yml" > docker-compose.yml
NUM_CERTIFICATES="3"
NUM_CERTIFICATES="4"

# To be constructed repo specific
echo "VHOSTS_ACCOUNTS=welcome.$DOMAIN" >> "$ENVFILE"
@@ -73,11 +73,10 @@ echo "VIRTUAL_HOST=$VIRTUAL_HOST" >> "$ENVFILE"

# fill autorenew config
rm -f "/mnt/repo-base/config/letsencrypt/autorenew/ssl-domains.dat"
echo "$DOMAIN,$VIRTUAL_HOST,mail.$DOMAIN,spam.$DOMAIN,welcome.$DOMAIN" | tr "," "\n" | while read CURDOMAIN; do
echo "$DOMAIN,$VIRTUAL_HOST,mail.$DOMAIN,spam.$DOMAIN,welcome.$DOMAIN,mta-sts.$DOMAIN" | tr "," "\n" | while read CURDOMAIN; do
    echo "$CURDOMAIN" >> config/letsencrypt/autorenew/ssl-domains.dat
:; done


# Configure autodiscover
#Generate 2 random UUIDs
UUID1=$(cat /proc/sys/kernel/random/uuid)
@@ -85,6 +84,10 @@ UUID2=$(cat /proc/sys/kernel/random/uuid)
echo "AUTODISCOVER_AM_UUID=$UUID1" >> "$ENVFILE"
echo "AUTODISCOVER_AP_UUID=$UUID2" >> "$ENVFILE"

# Configure MTA-STS
cat templates/mta-sts/mta-sts.txt | sed "s/@@@SMTP_HOST@@@/$SMTP_HOST/g" > "config/mta-sts/.well-known/mta-sts.txt"
chown -R www-data:www-data "config/mta-sts/"

# Configure rspamd whitelist
cat templates/mail/rspamd/ecloud/whitelist.sender.domain.map | sed "s/@@@DOMAIN@@@/$DOMAIN/g" > "config/mail/rspamd/ecloud/whitelist.sender.domain.map"

@@ -105,6 +108,7 @@ cat "templates/nginx/sites-enabled/nextcloud.conf" | sed "s/@@@DOMAIN@@@/$DOMAIN
cat "templates/nginx/sites-enabled/postfixadmin.conf" | sed "s/@@@DOMAIN@@@/$DOMAIN/g" > "config/nginx/sites-enabled/postfixadmin.conf"
cat "templates/nginx/sites-enabled/rspamd.conf" | sed "s/@@@DOMAIN@@@/$DOMAIN/g" > "config/nginx/sites-enabled/rspamd.conf"
cat "templates/nginx/sites-enabled/welcome.conf" | sed "s/@@@DOMAIN@@@/$DOMAIN/g" > "config/nginx/sites-enabled/welcome.conf"
cat "templates/nginx/sites-enabled/mta-sts.conf" | sed "s/@@@DOMAIN@@@/$DOMAIN/g" > "config/nginx/sites-enabled/mta-sts.conf"

# confirm DNS is ready
echo ""
@@ -124,7 +128,7 @@ echo "$ADD_DOMAINS" | tr "," "\n" | while read CURDOMAIN; do
:; done
echo "PTR(For reverse DNS),|,<Public IP>,|,mail.$DOMAIN,|,-" >> "$tempfile"
echo ""
echo "$VIRTUAL_HOST,spam.$DOMAIN,welcome.$DOMAIN" | tr "," "\n" | while read CURDOMAIN; do
echo "$VIRTUAL_HOST,spam.$DOMAIN,welcome.$DOMAIN,mta-sts.$DOMAIN" | tr "," "\n" | while read CURDOMAIN; do
    echo "CNAME,|,$CURDOMAIN,|,mail.$DOMAIN,|,-" >> "$tempfile"
:; done
column "$tempfile" -t -s ","
+4 −1
Original line number Diff line number Diff line
@@ -71,7 +71,6 @@ echo "Performing some Nextcloud administrative tasks"
docker-compose exec -T --user www-data nextcloud php /var/www/html/occ db:add-missing-indices

# Set default domain
docker exec -u www-data nextcloud /var/www/html/occ config:system:set main_domain --value $DOMAIN
docker exec -u www-data nextcloud /var/www/html/occ config:system:set legacy_domain --value $DOMAIN

docker-compose exec -T --user www-data nextcloud php occ maintenance:mode --off
@@ -173,6 +172,10 @@ find /mnt/repo-base/volumes/mail/dkim/ -maxdepth 1 -mindepth 1 -type d | while r
    echo "_dmarc IN TXT 'v=DMARC1;p=reject;sp=reject;pct=100;rua=mailto:postmaster@$DOMAIN;ri=86400;aspf=r;adkim=r;fo=1'"
    echo "  - SPF record (TXT) for $DOMAIN:"
    echo "@ IN TXT 'v=spf1 a ip4:$IP ~all'"
    echo "  - MTA-STS records (TXT) for $DOMAIN:"
    echo "_smtp._tls IN TXT 'v=TLSRPTv1; rua=mailto:postmaster@'$DOMAIN'"
    echo "_mta-sts IN TXT 'v=STSv1;id='$(date +%Y%m%d%H)'"

done

echo "================================================================================================================================="
+11 −9
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ version: '3'

services:
  mailserver:
    image: mailserver2/mailserver:1.1.14
    image: mailserver2/mailserver:1.1.15
    container_name: mailserver
    domainname: ${DOMAIN} # Mail server A/MX/FQDN & reverse PTR = mail.${DOMAIN}.
    hostname: mail
@@ -80,6 +80,7 @@ services:
    volumes:
      - /mnt/repo-base/volumes/mysql/db/data:/var/lib/mysql
      - /mnt/repo-base/config/mariadb/:/etc/mysql/conf.d/:ro

  redis:
    image: redis:6.2-alpine
    container_name: redis
@@ -187,6 +188,7 @@ services:
      - /mnt/repo-base/config/nginx/passwds:/passwds
      - /mnt/repo-base/config/letsencrypt/acme-challenge:/etc/letsencrypt/acme-challenge
      - /mnt/repo-base/volumes/nextcloud/html:/var/www/html
      - /mnt/repo-base/config/mta-sts:/var/www/mta-sts
    depends_on:
      - nextcloud
      - mail-autodiscover-autoconfig
Loading