A PowerDNS web interface with advanced features
Go to file
corubba 44cf98a159 Fix test docker
The Dockerfile did not work as is, because the dependencies in
requirements.txt are newer than the stretch-image with its python v3.5
can support/run. Use stable debian with the lts nodejs instead, plus
had to add some libs to make the wheel build succeed.
jsonschema v4 breaks things, so its version needs to be pinned until
bravado is fixed [0].

[0] https://github.com/Yelp/bravado-core/pull/385/files#r731674447
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 Revert "enhancement(routes/index.py): OIDC supports HTTP Scheme now" 2022-12-14 20:37:30 -05:00
tests Extend api with account and user management 2020-01-27 14:04:15 +00: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 test docker 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