A PowerDNS web interface with advanced features
Go to file
2018-04-17 13:28:54 +07:00
app Display history date/time using local timezone 2018-04-17 13:28:54 +07:00
configs Update config template 2018-04-06 13:22:09 +07:00
docker fixed typo udp 2018-03-28 12:10:12 +02:00
upload/avatar Adjustment in user_profile template. Add avatar uploading support 2015-12-17 00:50:28 +07:00
.gitignore Resolve the conflicts for #228 2018-04-02 13:38:53 +07:00
.travis.yml Resolve the conflicts for #228 2018-04-02 13:38:53 +07:00
config_template.py Update config template 2018-04-06 13:22:09 +07:00
create_db.py Adjustment in domain template feature to work with python3 2018-03-31 08:21:02 +07:00
db_downgrade.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
db_migrate.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
db_upgrade.py Adjustment to work with Python3 2018-03-30 13:49:35 +07:00
docker-compose.dev.yml Fix #236 2018-04-09 18:50:55 +07:00
Dockerfile Resolve the conflicts for #228 2018-04-02 13:38:53 +07:00
LICENSE Change license information 2018-04-02 14:01:35 +07:00
README.md Update README.md 2018-04-02 13:45:44 +07:00
requirements.txt Resolve the conflicts for #228 2018-04-02 13:38:53 +07:00
run_travis.sh added basic travis script 2017-11-02 02:15:33 +01:00
run.py Resolve the conflicts for #228 2018-04-02 13:38:53 +07:00
supervisord.conf Adjustment to work with Python3 2018-03-30 13:49:35 +07:00

PowerDNS-Admin

A PowerDNS web interface with advanced features. Build Status

Features:

  • Multiple domain management
  • Domain template
  • User management
  • User access management based on domain
  • User activity logging
  • Local DB / LDAP / Active Directory user authentication
  • Support SAML authentication
  • Google oauth authentication
  • Github oauth authentication
  • 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!)

Setup

PowerDNS Version Support:

PowerDNS-Admin supports PowerDNS autoritative server versions 3.4.2 and higher.

pdns Service

I assume that you have already installed pdns service. Make sure that your pdns.conf config file has these contents

PowerDNS 4.0.0 and later

api=yes
api-key=your-powerdns-api-key
webserver=yes

PowerDNS before 4.0.0

experimental-json-interface=yes
experimental-api-key=your-powerdns-api-key
webserver=yes

This will enable API access in pdns service so PowerDNS-Admin can intergrate with it.

Create Database

We will create a database which used by this web application. Please note that this database is difference from pdns database itself.

PowerDNS-Admin supports MySQL server, Maria DB, PostgresQL and SQL Lite.

MariaDB [(none)]> CREATE DATABASE powerdnsadmin;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON powerdnsadmin.* TO powerdnsadmin@'%' IDENTIFIED BY 'your-password';

Running PowerDNS-Admin

There are several ways to run PowerDNS-Admin. Following is a simple way to start PowerDNS-Admin with docker in development environment.

Firstly, let's edit configs/developments.py configuration file.

Secondly, build the docker image of PowerDNS-Admin

$docker-compose -f docker-compose.dev.yml build

Finally, start it

$ docker-compose -f docker-compose.dev.yml up

You can now access PowerDNS-Admin at url http://localhost:9191

NOTE: For other methods to run PowerDNS-Admin, please take look at WIKI pages.

Screenshots

login page dashboard create domain page manage domain page two-factor authentication config