A PowerDNS web interface with advanced features
Go to file
corubba 8d849ee2a1 Cleanup
The `unit/apikey` directory is removed because it does not contain any
tests. Same for `unit/test_decorators.py`.
The `fixture` module is renamed to the special-name `conftest` [0] so
they are available in all tests without the need to import them. With
that in place, I removed all now unneeded or previously already unused
imports from the tests.
Also removed that wierd `sys.path` bit from `unit/zone/test_admin_apikey.py`,
no idea what that was originally intended for.

[0] https://docs.pytest.org/en/6.2.x/fixture.html#conftest-py-sharing-fixtures-across-multiple-files
2022-12-19 09:37:01 +01:00
.github Tweaked job name of the Docker Image workflow. 2022-12-09 17:02:36 -05:00
configs Set SameSite on cookies 2022-06-18 18:51:42 +02:00
deploy Create setup_win.bat 2022-12-15 12:54:31 +08:00
docker Working on updated workflow for Docker image publishing. 2022-12-09 11:41:38 -05:00
docker-test Fix test docker 2022-12-19 09:37:01 +01:00
docs Linted the main menu. 2022-12-13 02:29:05 -04:00
migrations Fix handling of passwords with % in the SQLALCHEMY_DATABASE_URI 2022-11-04 11:59:59 +11:00
powerdnsadmin Fix broken code 2022-12-19 09:37:01 +01:00
tests Cleanup 2022-12-19 09:37:01 +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 Adding venv and yarn-error.log to gitignore 2022-05-17 16:31:05 +02: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 Fix the tests 2019-12-06 10:59:19 +07:00
docker-compose.yml updated image docker-compose.yml & deployment.yml 2022-12-12 19:24:46 +01:00
LICENSE Change license information 2018-04-02 14:01:35 +07:00
package.json Datepicker replace (#1059) 2021-12-02 11:59:36 +01:00
README.md Corrected typo / instructions related to Docker in the project README file. 2022-12-09 17:03:46 -05:00
requirements.txt Fix tests 2022-12-19 09:37:01 +01:00
run.py Refactoring the code 2019-12-02 10:32:03 +07: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 Bump shell-quote from 1.6.1 to 1.7.3 2022-06-24 23:03:12 +02:00

PowerDNS-Admin

A PowerDNS web interface with advanced features.

CodeQL Docker Image

Features:

  • Multiple domain management
  • Domain template
  • User management
  • User access management based on domain
  • User activity logging
  • Support Local DB / SAML / LDAP / Active Directory user authentication
  • Support Google / Github / Azure / OpenID OAuth
  • Support Two-factor authentication (TOTP)
  • Dashboard and pdns service statistics
  • DynDNS 2 protocol support
  • Edit IPv6 PTRs using IPv6 addresses directly (no more editing of literal addresses!)
  • Limited API for manipulating zones and records
  • Full IDN/Punycode support

Running PowerDNS-Admin

There are several ways to run PowerDNS-Admin. The easiest 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

The easiest is to just run the latest Docker image from Docker Hub:

$ 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 called pda-data to persist the SQLite database with the 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

LICENSE

MIT. See LICENSE