2015-12-13 10:46:24 +00:00
# PowerDNS-Admin
2018-04-01 09:07:41 +00:00
A PowerDNS web interface with advanced features.
2018-09-07 07:58:16 +00:00
2022-04-11 09:21:34 +00:00
[![Language grade: Python ](https://img.shields.io/lgtm/grade/python/g/PowerDNS-Admin/PowerDNS-Admin.svg?logo=lgtm&logoWidth=18 )](https://lgtm.com/projects/g/PowerDNS-Admin/PowerDNS-Admin/context:python)
[![Language grade: JavaScript ](https://img.shields.io/lgtm/grade/javascript/g/PowerDNS-Admin/PowerDNS-Admin.svg?logo=lgtm&logoWidth=18 )](https://lgtm.com/projects/g/PowerDNS-Admin/PowerDNS-Admin/context:javascript)
2015-12-13 10:46:24 +00:00
2015-12-13 11:07:10 +00:00
#### Features:
2015-12-13 11:07:59 +00:00
- Multiple domain management
2018-04-01 09:07:41 +00:00
- Domain template
2015-12-13 11:07:10 +00:00
- User management
2016-05-27 06:03:59 +00:00
- User access management based on domain
2015-12-13 11:07:10 +00:00
- User activity logging
2018-10-26 01:43:25 +00:00
- Support Local DB / SAML / LDAP / Active Directory user authentication
2019-12-05 00:52:30 +00:00
- Support Google / Github / Azure / OpenID OAuth
2018-04-01 09:07:41 +00:00
- Support Two-factor authentication (TOTP)
2015-12-13 11:07:10 +00:00
- Dashboard and pdns service statistics
2016-06-21 22:22:02 +00:00
- DynDNS 2 protocol support
2016-08-19 23:28:59 +00:00
- Edit IPv6 PTRs using IPv6 addresses directly (no more editing of literal addresses!)
2019-12-08 11:23:36 +00:00
- Limited API for manipulating zones and records
2021-03-16 18:37:05 +00:00
- Full IDN/Punycode support
2015-12-13 11:07:10 +00:00
2020-04-20 22:23:57 +00:00
## Running PowerDNS-Admin
There are several ways to run PowerDNS-Admin. The easiest way is to use Docker.
2022-04-11 09:21:34 +00:00
If you are looking to install and run PowerDNS-Admin directly onto your system check out the [Wiki ](https://github.com/PowerDNS-Admin/PowerDNS-Admin/wiki#installation-guides ) for ways to do that.
2020-04-20 22:23:57 +00:00
### Docker
This 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 \
2021-05-07 21:40:54 +00:00
-e SECRET_KEY='a-very-secret-key' \
2020-09-16 06:43:41 +00:00
-v pda-data:/data \
2020-04-20 22:23:57 +00:00
-p 9191:80 \
2022-12-09 17:55:45 +00:00
powerdnsadmin/pda-legacy:latest
2020-04-20 22:23:57 +00:00
```
This creates a volume called `pda-data` to persist the SQLite database with the configuration.
#### Option 2: Using docker-compose
2021-05-07 21:40:54 +00:00
1. Update the configuration
2020-04-20 22:23:57 +00:00
Edit the `docker-compose.yml` file to update the database connection string in `SQLALCHEMY_DATABASE_URI` .
2022-04-11 09:21:34 +00:00
Other environment variables are mentioned in the [legal_envvars ](https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/configs/docker_config.py#L5-L46 ).
2021-05-07 21:40:54 +00:00
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)
2020-04-20 22:23:57 +00:00
2. Start docker container
```
$ docker-compose up
```
You can then access PowerDNS-Admin by pointing your browser to http://localhost:9191.
## Screenshots
2018-08-14 02:36:26 +00:00
![dashboard ](https://user-images.githubusercontent.com/6447444/44068603-0d2d81f6-9fa5-11e8-83af-14e2ad79e370.png )
2020-05-17 07:37:15 +00:00
## LICENSE
2022-04-11 09:21:34 +00:00
MIT. See [LICENSE ](https://github.com/PowerDNS-Admin/PowerDNS-Admin/blob/master/LICENSE )
2020-05-17 07:37:15 +00:00