#!/bin/bash -x # # PowerDNS DNS Service PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin config_pdns() { echo -ne "\n* Configuring /federated/apps/pdns container.." if [ ! -d "/federated/apps/pdns" ]; then mkdir -p /federated/apps/pdns/data/root fi cat > /federated/apps/pdns/docker-compose.yml < /federated/apps/pdns/.env < /federated/apps/pdns/data/root/createrecords.sh < /dev/null" "7" # Create DNS records for newdomain # docker exec pdns pdnsutil create-zone $DOMAIN # docker exec pdns pdnsutil set-kind $DOMAIN native # docker exec pdns pdnsutil set-meta $DOMAIN SOA-EDIT-API DEFAULT # for i in ns1 ns2 powerdns traefik mail www computer panel nextcloud collabora jitsi matrix element listmonk vaultwarden vpn wireguard baserow gitea blog documentation calcom plane; do # docker exec pdns pdnsutil add-record $DOMAIN $i A 86400 $EXTERNALIP # done # docker exec pdns pdnsutil add-record $DOMAIN @ NS ns1.$DOMAIN_NEW # docker exec pdns pdnsutil add-record $DOMAIN @ NS ns2.$DOMAIN_NEW # docker exec pdns pdnsutil add-record $DOMAIN @ MX 86400 "10 mail.$DOMAIN" # docker exec pdns pdnsutil add-record $DOMAIN @ TXT 86400 "\"v=spf1 mx a:$DOMAIN ~all\"" # docker exec pdns pdnsutil add-record $DOMAIN \* CNAME 86400 www.$DOMAIN # docker exec pdns pdnsutil add-record $DOMAIN @ A 86400 $EXTERNALIP # Run createrecords.sh inside pdns container docker exec pdns /root/createrecords.sh &> /dev/null [ $? -ne 0 ] && fail "Couldn't run createrecords.sh in /federated/apps/pdns container" # Remove createrecords rm /federated/apps/pdns/data/root/createrecords.sh echo -ne "done." }