7e2fa1bfaa
Fixes Python 3.11 incompatibility using ancient lxml binary PyPI built against old libxml2. This fixes #1442 and closes #1433. The issue with python3-saml not working is because the binary lxml wheel is built against a different version of libxml2. ``--no-binary lxml`` can be used to fix this and python3-saml will work. for references check these: - https://github.com/onelogin/python3-saml/issues/292 - https://bugs.launchpad.net/lxml/+bug/1960668 - https://github.com/open-formulieren/open-forms/pull/2247 ``` Tested on: - ubuntu:23.04 - WORKING - ubuntu:22.10 - WORKING - ubuntu:22.04 - WORKING - ubuntu:20.04 - WORKING - ubuntu:18.04 - NOT WORKING - pip usage error with -r requirements.txt - debian:10 - WORKING - debian:11 - WORKING - alpine:edge - WORKING - alpine:3.17 - WORKING - alpine:3.16 - WORKING - alpine:3.15 - WORKING - alpine:3.14 - WORKING - rockylinux:9 - WORKING - rockylinux:8 - NOT WORKING - pip usage error with -r requirements.txt - almalinux:9 - WORKING - almalinux:8 - NOT WORKING - pip usage error with -r requirements.txt - fedora:36 - WORKING - fedora:37 - WORKING - fedora:38 - WORKING - fedora:39 - WORKING ``` |
||
---|---|---|
.github | ||
configs | ||
deploy | ||
docker | ||
docker-test | ||
docs | ||
migrations | ||
powerdnsadmin | ||
tests | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.whitesource | ||
.yarnrc | ||
docker-compose-test.yml | ||
docker-compose.yml | ||
LICENSE | ||
package.json | ||
README.md | ||
requirements.txt | ||
run.py | ||
update_accounts.py | ||
update_zones.py | ||
yarn.lock |
PowerDNS-Admin
A PowerDNS web interface with advanced features.
Features:
- Provides forward and reverse zone management
- Provides zone templating features
- Provides user management with role based access control
- Provides zone specific access control
- Provides activity logging
- Authentication:
- Local User Support
- SAML Support
- LDAP Support: OpenLDAP / Active Directory
- OAuth Support: Google / GitHub / Azure / OpenID
- Two-factor authentication support (TOTP)
- PDNS Service Configuration & Statistics Monitoring
- DynDNS 2 protocol support
- Easy IPv6 PTR record editing
- Provides an API for zone and record management among other features
- Provides full IDN/Punycode support
Running PowerDNS-Admin
There are several ways to run PowerDNS-Admin. The quickest 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
To run the application using the latest stable release on Docker Hub, run the following command:
$ 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 named pda-data
to persist the default SQLite database with app configuration.
Option 2: Using docker-compose
-
Update the configuration
Edit thedocker-compose.yml
file to update the database connection string inSQLALCHEMY_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 variableSECRET_KEY
to a long random string (https://flask.palletsprojects.com/en/1.1.x/config/#SECRET_KEY) -
Start docker container
$ docker-compose up
You can then access PowerDNS-Admin by pointing your browser to http://localhost:9191.
Screenshots
Contributing
Please see our contributing guidelines.
License
This project is released under the MIT license. For additional information, see here