A PowerDNS web interface with advanced features
Go to file
Matt Scott 84cfd165b4 Re-arranged side navigation to include the "Global Search" feature regardless of user role as the global search feature is now accessible to all users.
Also moved the "Activity" feature link higher in the menu to remove duplicate code from the navigation code base.
2023-03-12 10:27:04 -04:00
.github Disabled MegaLinter workflow for all branches currently. 2023-03-11 14:50:02 -05:00
configs Tweaked PR to include the latest asset build changes for CSS minimizer. Also updated the default session storage to use SQLAlchemy instead of the file system. 2023-03-10 16:34:55 -05:00
deploy Create setup_win.bat 2022-12-15 12:54:31 +08:00
docker Revert "Removed Docker image build line that updates the CSS asset build filters." 2023-03-10 18:58:30 -05:00
docker-test Update tests fix 2022-12-22 22:47:02 +01:00
docs Updated the project README with a refreshed screenshot of the dashboard. 2023-03-11 10:21:36 -05:00
migrations Fix migration issue #635 as proposed by @keesbos 2023-03-05 11:01:17 +01:00
powerdnsadmin Re-arranged side navigation to include the "Global Search" feature regardless of user role as the global search feature is now accessible to all users. 2023-03-12 10:27:04 -04:00
tests Update tests fix 2022-12-22 22:47:02 +01:00
.dockerignore Update docker stuff and bug fixes 2019-12-04 11:50:46 +07:00
.gitattributes Add .gitattributes 2018-06-11 17:12:52 +07:00
.gitignore Added default CAPTCHA settings to default configuration. 2023-02-18 19:18:59 -05:00
.lgtm.yml Add .lgtm.yml 2018-08-31 21:58:11 +07: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
docker-compose-test.yml Update tests fix 2022-12-22 22:47:02 +01:00
docker-compose.yml Merge pull request #1212 from corubba/feature/privacy-first 2023-01-24 05:34:30 -05:00
LICENSE Updated project README to include a refreshed feature list. 2023-02-26 03:47:28 -05:00
package.json Added a resolutions entry to the project's package.json file to deal with the Font Awesome icon issue created by AdminLTE's dependency on the older 5.x Font Awesome release. 2023-03-11 09:08:12 -05:00
README.md Updated the project README with a refreshed screenshot of the dashboard. 2023-03-11 10:21:36 -05:00
requirements.txt Documentation, Fix 2023-03-08 08:52:27 +01:00
run.py Corrected dependency conflicts with the recently merged requirements.txt file. 2023-02-17 18:32:36 -05:00
update_accounts.py Domains should not be updated in update_accounts.py 2020-08-06 15:40:11 +02:00
update_zones.py Implement account update method 2020-08-06 15:22:28 +02:00
yarn.lock Re-formatted the assets.py file to current PEP8 standards. 2023-03-11 08:48:19 -05:00

PowerDNS-Admin

A PowerDNS web interface with advanced features.

CodeQL Docker Image

Features:

  • Provides forward and reverse zone management
  • Provides zone templating features
  • Provides user management with role based access control
  • Provides zone specific access control
  • Provides activity logging
  • Authentication:
    • Local User Support
    • SAML Support
    • LDAP Support: OpenLDAP / Active Directory
    • OAuth Support: Google / GitHub / Azure / OpenID
  • Two-factor authentication support (TOTP)
  • PDNS Service Configuration & Statistics Monitoring
  • DynDNS 2 protocol support
  • Easy IPv6 PTR record editing
  • Provides an API for zone and record management among other features
  • Provides full IDN/Punycode support

Running PowerDNS-Admin

There are several ways to run PowerDNS-Admin. The quickest way is to use Docker. If you are looking to install and run PowerDNS-Admin directly onto your system, check out the wiki for ways to do that.

Docker

Here are two options to run PowerDNS-Admin using Docker. To get started as quickly as possible, try option 1. If you want to make modifications to the configuration option 2 may be cleaner.

Option 1: From Docker Hub

To run the application using the latest stable release on Docker Hub, run 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 creates a volume named pda-data to persist the default SQLite database with app configuration.

Option 2: Using docker-compose

  1. Update the configuration
    Edit the docker-compose.yml file to update the database connection string in SQLALCHEMY_DATABASE_URI. Other environment variables are mentioned in the legal_envvars. To use the Docker secrets feature it is possible to append _FILE to the environment variables and point to a file with the values stored in it.
    Make sure to set the environment variable SECRET_KEY to a long random string (https://flask.palletsprojects.com/en/1.1.x/config/#SECRET_KEY)

  2. Start docker container

    $ docker-compose up
    

You can then access PowerDNS-Admin by pointing your browser to http://localhost:9191.

Screenshots

dashboard

Contributing

Please see our contributing guidelines.

License

This project is released under the MIT license. For additional information, see here