diff --git a/config_template_docker.py b/config_template_docker.py new file mode 100644 index 0000000..b7a9ffa --- /dev/null +++ b/config_template_docker.py @@ -0,0 +1,46 @@ +import os +basedir = os.path.abspath(os.path.dirname(__file__)) + +# BASIC APP CONFIG +WTF_CSRF_ENABLED = True +SECRET_KEY = 'We are the world' +BIND_ADDRESS = '0.0.0.0' +PORT = 9393 +LOGIN_TITLE = "PDNS" + +# TIMEOUT - for large zones +TIMEOUT = 10 + +# LOG CONFIG +LOG_LEVEL = 'DEBUG' +LOG_FILE = '/dev/stdout' + +# Upload +UPLOAD_DIR = os.path.join(basedir, 'upload') + +# DATABASE CONFIG +SQLALCHEMY_DATABASE_URI = 'mysql://root:PowerDNSAdminPassword@mysqldb/powerdns-admin' +SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository') +SQLALCHEMY_TRACK_MODIFICATIONS = True + +# LDAP CONFIG +LDAP_TYPE = 'ldap' # use 'ad' for MS Active Directory +LDAP_URI = 'ldaps://your-ldap-server:636' +LDAP_USERNAME = 'cn=dnsuser,ou=users,ou=services,dc=duykhanh,dc=me' +LDAP_PASSWORD = 'dnsuser' +LDAP_SEARCH_BASE = 'ou=System Admins,ou=People,dc=duykhanh,dc=me' +# Additional options only if LDAP_TYPE=ldap +LDAP_USERNAMEFIELD = 'uid' +LDAP_FILTER = '(objectClass=inetorgperson)' + +#Default Auth +BASIC_ENABLED = True +SIGNUP_ENABLED = True + +# POWERDNS CONFIG +PDNS_STATS_URL = 'http://powerdns-server:8081' +PDNS_API_KEY = 'PowerDNSAPIKey' +PDNS_VERSION = '4.0.0' + +# RECORDS ALLOWED TO EDIT +RECORDS_ALLOW_EDIT = ['A', 'AAAA', 'CNAME', 'SPF', 'PTR', 'MX', 'TXT'] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c9271b5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,50 @@ +version: '2' + +services: + + powerdns-authoritative: + image: winggundamth/powerdns-mysql:trusty + hostname: powerdns-authoritative + depends_on: + - powerdns-authoritative-mariadb + links: + - powerdns-authoritative-mariadb:mysqldb + ports: + - 172.17.0.1:53:53/udp + - 8081:8081 + environment: + - PDNS_DB_HOST=mysqldb + - PDNS_DB_USERNAME=root + - PDNS_DB_NAME=powerdns + - PDNS_DB_PASSWORD=PowerDNSPassword + - PDNS_API_KEY=PowerDNSAPIKey + + powerdns-authoritative-mariadb: + image: mariadb:10.1.15 + hostname: powerdns-authoritative-mariadb + environment: + - MYSQL_DATABASE=powerdns + - MYSQL_ROOT_PASSWORD=PowerDNSPassword + + powerdns-admin: + image: winggundamth/powerdns-admin:trusty + hostname: powerdns-admin + depends_on: + - powerdns-admin-mariadb + - powerdns-authoritative + links: + - powerdns-admin-mariadb:mysqldb + - powerdns-authoritative:powerdns-server + volumes: + - ./:/home/web/powerdns-admin + ports: + - 9393:9393 + environment: + - WAITFOR_DB=60 + + powerdns-admin-mariadb: + image: mariadb:10.1.15 + hostname: powerdns-admin-mariadb + environment: + - MYSQL_DATABASE=powerdns-admin + - MYSQL_ROOT_PASSWORD=PowerDNSAdminPassword