From 5ec6211f6d8abe08a0b0b194db437cd64011dcfc Mon Sep 17 00:00:00 2001 From: Kai Schlachter Date: Fri, 3 May 2024 15:32:17 +0200 Subject: [PATCH] added example for a docker compse file using IPv6 config. --- docker-compose-mysql-ipv6.yml | 133 ++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 docker-compose-mysql-ipv6.yml diff --git a/docker-compose-mysql-ipv6.yml b/docker-compose-mysql-ipv6.yml new file mode 100644 index 0000000..2e7dc19 --- /dev/null +++ b/docker-compose-mysql-ipv6.yml @@ -0,0 +1,133 @@ +version: '2.4' + +services: + + pdns-recursor-mysql: + image: pschiffe/pdns-recursor:${RECURSOR_TAG:-latest} + networks: + pdns-mysql: + - ipv6_address: ${NETWORK_IPV6_PREFIX}::1 + volumes: + - /etc/localtime:/etc/localtime:ro + ulimits: + nofile: + soft: 5000 + hard: 5000 + + mariadb: + image: mariadb:11 + networks: + pdns-mysql: + aliases: + - db + - mysql + ipv6_address: ${NETWORK_IPV6_PREFIX}::2 + volumes: + - /etc/localtime:/etc/localtime:ro + - mariadb:/var/lib/mysql:Z + environment: + - MYSQL_ROOT_PASSWORD=my-secret-pw + healthcheck: + test: ['CMD', 'healthcheck.sh', '--su=mysql', '--connect', '--innodb_initialized'] + timeout: 10s + retries: 5 + + phpmyadmin: + image: phpmyadmin:5 + networks: + pdns-mysql: + ipv6_address: ${NETWORK_IPV6_PREFIX}::3 + ports: + - '8988:80' + volumes: + - /etc/localtime:/etc/localtime:ro + healthcheck: + test: ['CMD', 'curl', '-fsSL', 'http://127.0.0.1:80'] + timeout: 10s + retries: 5 + + pdns-mysql-master: + image: pschiffe/pdns-mysql:${PDNS_MYSQL_TAG:-latest} + hostname: ns1.example.com + networks: + pdns-mysql: + ipv6_address: ${NETWORK_IPV6_PREFIX}::4 + aliases: + - pdns + extra_hosts: + - 'ns1.example.com:172.6.0.20' + - 'ns2.example.com:172.6.0.21' + volumes: + - /etc/localtime:/etc/localtime:ro + environment: + - PDNS_gmysql_password=my-secret-pw + - PDNS_master=yes + - PDNS_api=yes + - PDNS_api_key=secret + - PDNS_webserver=yes + - PDNS_webserver_address=0.0.0.0 + - PDNS_webserver_allow_from=${NETWORK_IPV6_PREFIX}::/${NETWORK_IPV6_PREFIX_LENGTH} + - PDNS_version_string=anonymous + - PDNS_default_ttl=1500 + - PDNS_allow_axfr_ips=${NETWORK_IPV6_PREFIX}::5 + - PDNS_only_notify=${NETWORK_IPV6_PREFIX}::5 + depends_on: + - mariadb + + pdns-mysql-slave: + image: pschiffe/pdns-mysql:${PDNS_MYSQL_TAG:-latest} + hostname: ns2.example.com + networks: + pdns-mysql: + ipv6_address: ${NETWORK_IPV6_PREFIX}::5 + extra_hosts: + - 'ns1.example.com:${NETWORK_IPV6_PREFIX}::4' + - 'ns2.example.com:${NETWORK_IPV6_PREFIX}::5' + volumes: + - /etc/localtime:/etc/localtime:ro + environment: + - PDNS_gmysql_dbname=powerdnsslave + - PDNS_gmysql_password=my-secret-pw + - PDNS_slave=yes + - PDNS_superslave=yes + - PDNS_webserver=yes + - PDNS_webserver_address=0.0.0.0 + - PDNS_webserver_allow_from=${NETWORK_IPV6_PREFIX}::/${NETWORK_IPV6_PREFIX_LENGTH} + - PDNS_version_string=anonymous + - PDNS_disable_axfr=yes + - PDNS_allow_notify_from=${NETWORK_IPV6_PREFIX}::4 + - SUPERMASTER_IPS=${NETWORK_IPV6_PREFIX}::4 + depends_on: + - mariadb + - pdns-mysql-master + + pdns-admin-mysql: + image: pschiffe/pdns-admin + networks: + pdns-mysql: + aliases: + - pdns-admin + ipv6_address: ${NETWORK_IPV6_PREFIX}::6 + ports: + - '8989:8080' + volumes: + - /etc/localtime:/etc/localtime:ro + environment: + - PDNS_ADMIN_SQLA_DB_PASSWORD=my-secret-pw + - PDNS_VERSION=4.8 + - PDNS_API_KEY=secret + depends_on: + - mariadb + - pdns-mysql-master + +networks: + pdns-mysql: + enable_ipv6: true + name: ${NETWORK_NAME:-dns} + driver: bridge + ipam: + driver: default + config: + - subnet: ${NETWORK_IPV6_PREFIX:?network_prefix_missing}::/${NETWORK_IPV6_PREFIX_LENGTH?:network_prefix_length_missing} +volumes: + mariadb: