version: '3' services: # MariaDB-Datenbank für PowerDNS Server mysql: image: mariadb:11 container_name: mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${PDNS_DB_PASSWORD} MYSQL_DATABASE: ${PDNS_DB_NAME} MYSQL_USER: pdns_user MYSQL_PASSWORD: ${PDNS_DB_PASSWORD} volumes: - ./pdns-mysql-data:/var/lib/mysql networks: - pdns-network healthcheck: test: [ "CMD-SHELL", 'mysqladmin ping' ] interval: 10s timeout: 2s retries: 10 # MariaDB-Datenbank für PowerDNS Admin mysql-admin: image: mariadb:11 container_name: mysql-admin restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${PDNS_ADMIN_DB_PASSWORD} MYSQL_DATABASE: ${PDNS_ADMIN_DB_NAME} MYSQL_USER: pdns_admin_user MYSQL_PASSWORD: ${PDNS_ADMIN_DB_PASSWORD} volumes: - ./pdns-admin-mysql-data:/var/lib/mysql networks: - pdns-network # PowerDNS Server mit MySQL Backend pdns: image: pschiffe/pdns-mysql:${PDNS_VERSION} container_name: pdns restart: unless-stopped ports: - "${PDNS_PORT}:53/tcp" - "${PDNS_PORT}:53/udp" environment: PDNS_primary: "yes" PDNS_api: "yes" PDNS_api_key: ${PDNS_API_KEY} PDNS_webserver: "yes" PDNS_webserver_address: 0.0.0.0 PDNS_webserver_port: ${PDNS_WEBSERVER_PORT} PDNS_webserver_password: ${PDNS_WEBSERVER_PASSWORD} PDNS_webserver_allow_from: "0.0.0.0/0,::/0" PDNS_version_string: anonymous PDNS_default_ttl: ${PDNS_DEFAULT_TTL} PDNS_gmysql_user: pdns_user PDNS_gmysql_password: ${PDNS_DB_PASSWORD} PDNS_gmysql_dbname: ${PDNS_DB_NAME} PDNS_gmysql_host: mysql links: - mysql:mysql depends_on: - mysql networks: - pdns-network # PowerDNS Admin Web-Interface pdns-admin: image: pschiffe/pdns-admin:latest container_name: pdns-admin restart: unless-stopped ports: - "${PDNS_ADMIN_PORT}:8080" environment: PDNS_ADMIN_SQLA_DB_HOST: mysql-admin PDNS_ADMIN_SQLA_DB_NAME: ${PDNS_ADMIN_DB_NAME} PDNS_ADMIN_SQLA_DB_USER: pdns_admin_user PDNS_ADMIN_SQLA_DB_PASSWORD: ${PDNS_ADMIN_DB_PASSWORD} PDNS_ADMIN_SALT: ${PDNS_ADMIN_SALT} PDNS_VERSION: ${PDNS_VERSION} PDNS_API_KEY: ${PDNS_API_KEY} volumes: - ./pdns-admin-upload:/opt/powerdns-admin/upload links: - mysql-admin:mysql - pdns:pdns depends_on: - mysql-admin - pdns networks: - pdns-network networks: pdns-network: driver: bridge