52b704baeb
Setting this attribute on a cookie marks it as non-cross-site, so it is only send in requests to our own server. It is reasonable that no one else should need our session or csrf data. Setting it explicitly also prevents any issues from the ongoing change in browser behaviour [0] when it is unset. Seasurf supports the SameSite attribute starting with v0.3. As nothing obviously broke, I used the opportunity and updated all the way to the most recent version. The SeaSurf default for SameSite is already `Lax`, so it only needs to be set for the session cookie. [0] https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure |
||
---|---|---|
.github | ||
configs | ||
deploy/kubernetes | ||
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:
- Multiple domain management
- Domain template
- User management
- User access management based on domain
- User activity logging
- Support Local DB / SAML / LDAP / Active Directory user authentication
- Support Google / Github / Azure / OpenID OAuth
- 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!)
- Limited API for manipulating zones and records
- Full IDN/Punycode support
Running PowerDNS-Admin
There are several ways to run PowerDNS-Admin. The easiest 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
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 \
-e SECRET_KEY='a-very-secret-key' \
-v pda-data:/data \
-p 9191:80 \
ngoduykhanh/powerdns-admin:latest
This creates a volume called pda-data
to persist the SQLite database with the 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
LICENSE
MIT. See LICENSE