98 lines
2.6 KiB
YAML
98 lines
2.6 KiB
YAML
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
|