mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2025-01-30 13:44:38 +00:00
Thomas M Steenholdt
daba67611b
Enable pool_pre_ping in DB connection
To avoid problems with inactive DB connections, SQLAlchemy provides a `pool_pre_ping` option, that described in more detail here: http://docs.sqlalchemy.org/en/latest/core/pooling.html#disconnect-handling-pessimistic In flask environments, it's enabled by subclassing SQLAlchemy, which is what I've done here. Fixes errors like: sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away') which results in an Error 500 in the UI.
PowerDNS-Admin
A PowerDNS web interface with advanced features.
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
Languages
Python
50.5%
HTML
44.5%
JavaScript
3.4%
CSS
0.9%
Dockerfile
0.4%
Other
0.2%