From 0f57eccf69976547f4dd79aad49e0daaf7f1565a Mon Sep 17 00:00:00 2001 From: Bryan Joshua Pedini Date: Mon, 14 Mar 2022 18:51:25 +0100 Subject: [PATCH] first code commit --- .gitignore | 1 + docker-compose.yml | 36 ++++++++++++++++++++++++++++++++++++ example.env | 15 +++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 .gitignore create mode 100644 docker-compose.yml create mode 100644 example.env diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f10862a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.env diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ef9e120 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3" + +services: + pda: + image: ngoduykhanh/powerdns-admin:${PDA_VERSION} + restart: always + environment: + - SQLALCHEMY_DATABASE_URI=mysql://${MYSQL_USER}:${MYSQL_PASS}@host.docker.internal/${MYSQL_DBNAME} + - GUNICORN_TIMEOUT=60 + - GUNICORN_WORKERS=2 + - GUNICORN_LOGLEVEL=INFO + - OFFLINE_MODE=False + labels: + - traefik.enable=${TRAEFIK_ENABLED} + - traefik.docker.network=traefik + ### Section HTTP + - traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http + # redirect to HTTPS only + - traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=http-to-https + - traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_MATCHRULE}`) + ### Section HTTPS + - traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https + # configure the exposed service + - traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_MATCHRULE}`) + # of course, enable TLS and it's certificate provider + - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED} + - traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER} + # specify a service so a custom port can be used + - traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT} + networks: + - traefik + +networks: + traefik: + external: true + name: ${TRAEFIK_NETWORK} diff --git a/example.env b/example.env new file mode 100644 index 0000000..225015b --- /dev/null +++ b/example.env @@ -0,0 +1,15 @@ +# PowerDNS-Admin +PDA_VERSION==0.2.4 +MYSQL_DBNAME=pdns +MYSQL_USER=pdns +MYSQL_PASS=changeme + +# Træfik +TRAEFIK_CERTRESOLVER=letsencrypt +TRAEFIK_ENABLED=true +TRAEFIK_MATCHRULE=pda.mydomain.com +TRAEFIK_NETWORK=traefik +TRAEFIK_ROUTER=pda_mydomain_com +TRAEFIK_SERVICE=pda_mydomain_com +TRAEFIK_SERVICE_PORT=80 +TRAEFIK_TLSENABLED=true