diff --git a/powerdns/docker-compose.yml b/powerdns/docker-compose.yml index a19530f..ee7bc43 100644 --- a/powerdns/docker-compose.yml +++ b/powerdns/docker-compose.yml @@ -1,59 +1,46 @@ services: - db: - image: mariadb:${MARIADB_VERSION:-10.5} - container_name: ${DB_CONTAINER_NAME:-pdns-db} - restart: always + powerdns: + image: ${PDNS_IMAGE:-powerdns/pdns:latest} + container_name: ${PDNS_CONTAINER_NAME:-powerdns} environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-rootpassword} - - MYSQL_DATABASE=${MYSQL_DATABASE:-pdns} - - MYSQL_USER=${MYSQL_USER:-pdns} - - MYSQL_PASSWORD=${MYSQL_PASSWORD:-StrongPasswordHere} - volumes: - - ${DB_VOLUME:-db_data}:/var/lib/mysql - - ./initdb:/docker-entrypoint-initdb.d # <‑‑ Schema wird automatisch eingespielt - - pdns: - image: powerdns/pdns-auth-master:${PDNS_VERSION:-latest} - container_name: ${PDNS_CONTAINER_NAME:-pdns-server} - restart: always - depends_on: - - db + PDNS_API_KEY: ${PDNS_API_KEY:-changeme} + PDNS_ALLOW_AXFR_IPS: ${PDNS_ALLOW_AXFR_IPS:-127.0.0.1} + PDNS_MASTER: ${PDNS_MASTER:-yes} + PDNS_SLAVE: ${PDNS_SLAVE:-no} + PDNS_DEFAULT_TTL: ${PDNS_DEFAULT_TTL:-3600} + PDNS_LAUNCH: ${PDNS_LAUNCH:-gmysql} + PDNS_GMYSQL_HOST: ${PDNS_DB_HOST:-pdns-db} + PDNS_GMYSQL_USER: ${PDNS_DB_USER:-pdns} + PDNS_GMYSQL_PASSWORD: ${PDNS_DB_PASSWORD:-pdns} + PDNS_GMYSQL_DBNAME: ${PDNS_DB_NAME:-pdns} ports: - - "53:53" - - "53:53/udp" + - "${PDNS_PORT:-53}:53/udp" + - "${PDNS_PORT:-53}:53/tcp" - "${PDNS_API_PORT:-8051}:8081" - environment: - - PDNS_API=${PDNS_API:-yes} - - PDNS_API_KEY=${PDNS_API_KEY:-SuperSecretAPIKey} - - PDNS_WEBSERVER=${PDNS_WEBSERVER:-yes} - - PDNS_WEBSERVER_ALLOW_FROM=${PDNS_WEBSERVER_ALLOW_FROM:-0.0.0.0/0} - - PDNS_WEBSERVER_PORT=${PDNS_WEBSERVER_PORT:-8081} - - PDNS_LAUNCH=${PDNS_LAUNCH:-gmysql} - - PDNS_GMYSQL_HOST=${PDNS_GMYSQL_HOST:-db} - - PDNS_GMYSQL_USER=${PDNS_GMYSQL_USER:-pdns} - - PDNS_GMYSQL_PASSWORD=${PDNS_GMYSQL_PASSWORD:-StrongPasswordHere} - - PDNS_GMYSQL_DBNAME=${PDNS_GMYSQL_DBNAME:-pdns} - volumes: - - ${PDNS_VOLUME:-pdns_data}:/etc/powerdns - - pda: - image: powerdnsadmin/pda-legacy:${PDA_VERSION:-latest} - container_name: ${PDA_CONTAINER_NAME:-pdns-admin} - restart: always depends_on: - - pdns - - db - ports: - - "${PDA_PORT:-9191}:80" - environment: - - SECRET_KEY=${PDA_SECRET_KEY:-changemeplease} - - SQLALCHEMY_DATABASE_URI=${PDA_DB_URI:-mysql://pdns:StrongPasswordHere@db/pdns} - - POWERDNS_API_URL=${PDA_API_URL:-http://pdns:8081} - - POWERDNS_API_KEY=${PDNS_API_KEY:-SuperSecretAPIKey} - volumes: - - ${PDA_VOLUME:-pda_data}:/data + - pdns-db -volumes: - db_data: - pdns_data: - pda_data: + pdns-db: + image: ${PDNS_DB_IMAGE:-mysql:8} + container_name: ${PDNS_DB_CONTAINER_NAME:-pdns-db} + environment: + MYSQL_ROOT_PASSWORD: ${PDNS_DB_ROOT_PASSWORD:-rootpw} + MYSQL_DATABASE: ${PDNS_DB_NAME:-pdns} + MYSQL_USER: ${PDNS_DB_USER:-pdns} + MYSQL_PASSWORD: ${PDNS_DB_PASSWORD:-pdns} + volumes: + - ${PDNS_DB_DATA_PATH:-./pdns-db-data}:/var/lib/mysql + + powerdns-admin: + image: ${PDNS_ADMIN_IMAGE:-ngoduykhanh/powerdns-admin:latest} + container_name: ${PDNS_ADMIN_CONTAINER_NAME:-powerdns-admin} + environment: + SQLALCHEMY_DATABASE_URI: ${PDNS_ADMIN_DB_URI:-mysql://pdns:pdns@pdns-db/pdns} + SECRET_KEY: ${PDNS_ADMIN_SECRET_KEY:-changeme} + PDNS_API_URL: ${PDNS_API_URL:-http://powerdns:8081} + PDNS_API_KEY: ${PDNS_API_KEY:-changeme} + ports: + - "${PDNS_ADMIN_PORT:-9191}:80" + depends_on: + - powerdns + - pdns-db