A PowerDNS web interface with advanced features
  • Python 53.4%
  • HTML 35.8%
  • JavaScript 9%
  • CSS 0.9%
  • Erlang 0.3%
  • Other 0.5%
Find a file
2026-08-07 00:07:43 -04:00
.github chore(ci): remove unnecessary triggers for push and pull_request events in workflow 2026-08-03 22:51:22 -04:00
configs fix(docs): update Docker Compose instructions for local production setup and clarify MySQL integration 2026-08-06 23:43:25 -04:00
deploy Create setup_win.bat 2022-12-15 12:54:31 +08:00
docker fix(docs): update Docker Compose instructions for local production setup and clarify MySQL integration 2026-08-06 23:43:25 -04:00
docs fix(docs): update Docker Compose instructions for local production setup and clarify MySQL integration 2026-08-06 23:43:25 -04:00
migrations Update Changelog and Release Template 2026-08-03 17:30:29 -04:00
powerdnsadmin fix(auth): enhance OpenID Connect support by ensuring required scopes and merging claims, and resolving other providers 2026-08-06 22:41:45 -04:00
tests fix(auth): enhance OpenID Connect support by ensuring required scopes and merging claims, and resolving other providers 2026-08-06 22:41:45 -04:00
.coveragerc Update Changelog and Release Template 2026-08-03 17:30:29 -04:00
.dockerignore -Resolve CSS renders 2026-07-24 18:14:19 -04:00
.gitattributes Add .gitattributes 2018-06-11 17:12:52 +07:00
.gitignore Moving files 2026-08-02 14:34:25 -04:00
.whitesource Add .whitesource configuration file 2020-08-31 20:52:34 +00:00
.yarnrc Update docker stuff and bug fixes 2019-12-04 11:50:46 +07:00
app-support.json Update Changelog and Release Template 2026-08-03 17:30:29 -04:00
browser-support.json -Resolve CSS renders 2026-07-24 18:14:19 -04:00
CHANGELOG.md fix(changelog): update CHANGELOG for version 0.6.1 release with new features and enhancements 2026-08-06 23:51:22 -04:00
LICENSE Updated project README to include a refreshed feature list. 2023-02-26 03:47:28 -05:00
package.json -Resolve CSS renders 2026-07-24 18:14:19 -04:00
README.md fix(docs): update Docker Compose instructions for local production setup and clarify MySQL integration 2026-08-06 23:43:25 -04:00
requirements-dev.txt Update Changelog and Release Template 2026-08-03 17:30:29 -04:00
requirements.txt chore(deps): bump cryptography from 49.0.0 to 50.0.0 2026-08-04 02:57:41 +00:00
run.py Corrected dependency conflicts with the recently merged requirements.txt file. 2023-02-17 18:32:36 -05:00
SECURITY.md Relocated new security policy to the project root to meet GitHub feature expectations. 2023-03-17 16:46:34 -04:00
update_accounts.py Domains should not be updated in update_accounts.py 2020-08-06 15:40:11 +02:00
update_zones.py Change domain(s) to zone(s) in the python code and docs 2023-03-16 17:02:23 +01:00
VERSION fix(version): bump version to 0.6.1 2026-08-06 23:48:35 -04:00
yarn.lock -Resolve CSS renders 2026-07-24 18:14:19 -04:00

PowerDNS-Admin

A web interface for PowerDNS with advanced features.

Development status

Tests CodeQL Docker Image

Features

  • Forward and reverse zone management
  • Zone templating
  • User management with role-based access control
  • Zone-specific access control
  • Activity logging
  • Authentication:
    • Local users
    • SAML
    • LDAP (OpenLDAP / Active Directory)
    • OAuth (Google / GitHub / Azure / OpenID)
  • Two-factor authentication (TOTP)
  • PDNS service configuration and statistics monitoring
  • DynDNS 2 protocol support
  • Easy IPv6 PTR record editing
  • API for zone and record management
  • Full IDN/Punycode support

Compatibility

PowerDNS-Admin is built and tested against the current stable release of the PowerDNS Authoritative Server, plus recent prior minor releases. Support for versions older than 5.0 has been dropped entirely, even where PowerDNS itself continues to backport critical/security fixes to them. See app-support.json for the exact PowerDNS, Python, and browser versions supported by the current release.

Running PowerDNS-Admin

The quickest way to run PowerDNS-Admin is with Docker. For instructions on installing PowerDNS-Admin directly on your system, please refer to our installation documentation.

Docker

We offer two options for running PowerDNS-Admin with Docker.

Option 1: From Docker Hub

This option is ideal for getting started quickly. To run the latest stable release from Docker Hub, execute the following command:

$ docker run -d \
    -e SECRET_KEY='a-very-secret-key' \
    -v pda-data:/data \
    -p 9191:80 \
    powerdnsadmin/pda-legacy:latest

This command creates a volume named pda-data to persist the application's SQLite database.

Note on image name: While the image is named pda-legacy, it is the current and actively maintained version. The name is a historical artifact.

Option 2: Using Docker Compose

This option is recommended if you need to customize the configuration.

  1. Update the configuration

    The included Compose configuration starts MySQL and connects PowerDNS-Admin to it automatically. Before deploying, replace the example database passwords in docker/docker-compose.yml. You can find a list of other environment variables in the AppSettings.defaults file.

    To use Docker-style secrets, you can append _FILE to an environment variable with a path to a file containing the secret (e.g., SQLALCHEMY_DATABASE_URI_FILE=/run/secrets/db_uri).

    Ensure you set the SECRET_KEY environment variable to a long, random string. For more information, please see the Flask configuration documentation.

  2. Start the container

    # From the root of the project
    $ docker compose -f docker/docker-compose.yml up --build
    

You can now access PowerDNS-Admin in your browser at http://localhost:9191.

Screenshots

dashboard

Support

For assistance, please see our Support Guide or join our Discord Server.

Security

Please refer to our Security Policy for information on reporting security vulnerabilities.

Contributing

We welcome contributions to PowerDNS-Admin. Please see our Contribution Guide for more information.

Code of Conduct

We are committed to providing a welcoming and inclusive environment for everyone. Please review our Code of Conduct for our community standards.

License

PowerDNS-Admin is released under the MIT License. For more information, please see the full license.