A PowerDNS web interface with advanced features
Go to file
Matt Scott 7ce1f09522
Merge pull request #1432 from PowerDNS-Admin/1431-feature-add-oauth-setting-for-jwks-url
Feature: Added new JWKS URL setting for each OAuth provider
2023-03-11 14:50:23 -05: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 Added new JWKS URL setting for each OAuth provider and updated the associated authorization service to use the setting during the initialization of the authlib. 2023-03-11 14:46:58 -05: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