A PowerDNS web interface with advanced features
Go to file
Thomas M Steenholdt a3a58f16a5 Initial support for Accounts
This adds initial support for accounts a concept meant to signify a customer, a department or any other entity that somehow owns or manages one or more domains.

The purpose is to be able to assign an account to any number of domains, making it easy to track who owns or manages a domain, significantly improving manageability in setups with a large number of domains.

An account consists of a mandatory, unique `name` and optional `description`, `contact` name and `mail` address. The account `name` is stripped of spaces and symbols, and lower cased before getting stored in the database and in PowerDNS, to help ensure some type of predictability and uniqueness in the database.

The term *account* is actually taken from the PowerDNS database, where the `domains.account` column is used to store the account relationship, in in the form of the account `name`.

The link to a domain in PowerDNS-Admin is done through the `domain.account_id` FOREIGN KEY, that is linked to the `account.id` PRIMARY KEY.

(cherry picked from commits 4e95f33dfb0676d1c401a033c28bca3be7d6ec26, da0d596bd019a339549e2c59630a8fdee65d0e22, 7f06e6aaf4fd8011c784f24b7bbbba5f52aef319, 1c624dad8749024033d1d15dd6242ca52b39f135)
2018-06-04 13:10:02 -02:00
app Initial support for Accounts 2018-06-04 13:10:02 -02:00
configs Merge updates from master branch 2018-04-18 10:12:07 +07:00
docker/PowerDNS-Admin Add missing files 2018-04-17 21:21:42 +07:00
upload/avatar Adjustment in user_profile template. Add avatar uploading support 2015-12-17 00:50:28 +07:00
.env Use .env file for docker-compose 2018-04-17 22:14:03 +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.yml Adjustment in docker compose file to make sure mysql service is ready before starting pdns server and powerdn-admin 2018-04-18 10:07:24 +07:00
LICENSE Change license information 2018-04-02 14:01:35 +07:00
README.md Update README.md 2018-04-18 10:34:46 +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!)

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 which has PowerDNS-Admin, PowerDNS server and MySQL Back-End Database.

Step 1: Changing configuration The configuration file for developement environment is located at configs/development.py, you can override some configs by editing .env file.

Step 2: Build docker images

$ docker-compose build

Step 3: Start docker containers

$ docker-compose 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