From 9778b5d9a4e75cfcfb3e98fe7bfd4e1a28ce2053 Mon Sep 17 00:00:00 2001 From: chinskiy Date: Sun, 3 May 2020 17:55:49 +0300 Subject: [PATCH 1/6] update traefik-proxy.md because of traefik v2 uncompatible changes Signed-off-by: chinskiy --- docker-compose-traefik-proxy.md | 70 ++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/docker-compose-traefik-proxy.md b/docker-compose-traefik-proxy.md index 87335c5..70178d4 100644 --- a/docker-compose-traefik-proxy.md +++ b/docker-compose-traefik-proxy.md @@ -1,6 +1,6 @@ Please note the following about this [traefik](https://traefik.io/) example for Docker Pi-hole -- Still requires standard Pi-hole setup steps, make sure you've gone through the [README](https://github.com/pihole/docker-pi-hole/blob/master/README.md) and understand how to setup Pi-hole without traefik first +- Still requires standard Pi-hole setup steps, make sure you've gone through the [README](https://github.com/pi-hole/docker-pi-hole/blob/master/README.md) and understand how to setup Pi-hole without traefik first - Update these things before using: - set instances of `homedomain.lan` below to your home domain (typically set in your router) - set your Pi-hole ENV WEBPASSWORD if you don't want a random admin pass @@ -12,10 +12,9 @@ Please note the following about this [traefik](https://traefik.io/) example for - There is some delay after starting your container before traefik forwards the HTTP traffic correctly, give it a minute ``` -version: '3' +version: '3.8' services: - # traefik: container_name: traefik domainname: homedomain.lan @@ -23,18 +22,25 @@ services: image: traefik restart: unless-stopped # Note I opt to whitelist certain apps for exposure to traefik instead of auto discovery - # use `--docker.exposedbydefault=true` if you don't want to have to do this - command: "--web --docker --docker.domain=homedomain.lan --docker.exposedbydefault=false --logLevel=DEBUG" + # use `--providers.docker.exposedbydefault=true` if you don't want to have to do this + command: + - "--providers.docker=true" + - "--providers.docker.network=web" + - "--providers.docker.exposedbydefault=false" + - "--api.insecure=true" + - "--api.dashboard=true" + - "--entrypoints.http.address=:80" + - "--log.level=DEBUG" ports: - "80:80" - "443:443" - "8080:8080" volumes: - - /var/run/docker.sock:/var/run/docker.sock + - /var/run/docker.sock:/var/run/docker.sock:ro - /dev/null:/traefik.toml networks: - default - - discovery + - web dns: - 192.168.1.50 - 192.168.1.1 @@ -44,6 +50,8 @@ services: domainname: homedomain.lan image: pihole/pihole:latest + networks: + - web dns: - 127.0.0.1 - 1.1.1.1 @@ -66,43 +74,41 @@ services: # WEBPASSWORD: restart: unless-stopped labels: - # required when using --docker.exposedbydefault=false + # required when using --providers.docker.exposedbydefault=false - "traefik.enable=true" - # https://www.techjunktrunk.com/docker/2017/11/03/traefik-default-server-catch-all/ - - "traefik.frontend.rule=HostRegexp:pihole.homedomain.lan,{catchall:.*}" - - "traefik.frontend.priority=1" - - "traefik.backend=pihole" - - "traefik.port=80" + - "traefik.http.routers.pihole.rule=PathPrefix(`/`)" + - "traefik.http.routers.pihole.entrypoints=http" + - "traefik.docker.network=web" + - "traefik.http.services.pihole.loadbalancer.server.port=80" networks: # Discovery is manually created to avoid forcing any order of docker-compose stack creation (`docker network create discovery`) # allows other compose files to be seen by proxy # Not required if you aren't using multiple docker-compose files... - discovery: + web: external: true ``` After running `docker-compose up -d` you should see this if you look at logs on traefik `docker-compose logs -f traefik` ``` -traefik | time="2018-03-07T18:57:41Z" level=debug msg="Provider event received {Status:health_status: healthy ID:33567e94e02c5adba3d47fa44c391e94fdea359fb05eecb196c95de288ffb861 From:pihole/pihole:latest Type:container Action:health_status: healthy Actor:{ID:33567e94 -e02c5adba3d47fa44c391e94fdea359fb05eecb196c95de288ffb861 Attributes:map[com.docker.compose.project:traefik image:pihole/pihole:latest traefik.frontend.priority:1 com.docker.compose.container-number:1 com.docker.compose.service:pihole com.docker.compose.version:1.19.0 name:pihole traefik.enable:true url:https://www.github.com/pihole/docker-pi-hole com.docker.compose.oneoff:False maintainer:adam@diginc.us traefik.backend:pihole traefik.frontend.rule:HostRegexp:pihole.homedomain.lan,{catchall:.*} traefik.port:80 com.docker.compose.config- -hash:7551c3f4bd11766292c7dad81473ef21da91cae8666d1b04a42d1daab53fba0f]} Scope:local Time:1520449061 TimeNano:1520449061934970670}" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Filtering disabled container /traefik" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Could not load traefik.frontend.whitelistSourceRange labels" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Could not load traefik.frontend.entryPoints labels" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Could not load traefik.frontend.auth.basic labels" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Validation of load balancer method for backend backend-pihole failed: invalid load-balancing method ''. Using default method wrr." -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Configuration received from provider docker: {"backends":{"backend-pihole":{"servers":{"server-pihole":{"url":"http://172.18.0.2:80","weight":0}},"loadBalancer":{"method":"wrr"}}},"frontends":{"frontend-HostRegexp --pihole-homedomain-lan-catchall-0":{"entryPoints":["http"],"backend":"backend-pihole","routes":{"route-frontend-HostRegexp-pihole-homedomain-lan-catchall-0":{"rule":"HostRegexp:pihole.homedomain.lan,{catchall:.*}"}},"passHostHeader":true,"priority":1,"basicAuth":[]}}}" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Creating frontend frontend-HostRegexp-pihole-homedomain-lan-catchall-0" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Wiring frontend frontend-HostRegexp-pihole-homedomain-lan-catchall-0 to entryPoint http" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Creating route route-frontend-HostRegexp-pihole-homedomain-lan-catchall-0 HostRegexp:pihole.homedomain.lan,{catchall:.*}" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Creating backend backend-pihole" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Creating load-balancer wrr" -traefik | time="2018-03-07T18:57:42Z" level=debug msg="Creating server server-pihole at http://172.18.0.2:80 with weight 0" -traefik | time="2018-03-07T18:57:42Z" level=info msg="Server configuration reloaded on :80" -traefik | time="2018-03-07T18:57:42Z" level=info msg="Server configuration reloaded on :8080" +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Provider event received {Status:health_status: healthy ID:daf190c70930ec8830213a4e3b710ae558048798dd7229885eedd92a05a25df8 From:pihole/pihole:latest Type:container Action:health_status: healthy Actor:{ID:daf190c70930ec8830213a4e3b710ae558048798dd7229885eedd92a05a25df8 Attributes:map[com.docker.compose.config-hash:6195e8f8f24f1eb3a4866cb02407813596401b91939149c71b5fb8ecfefbaab5 com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:pi-hole com.docker.compose.project.config_files:docker-compose.yml com.docker.compose.project.working_dir:/opt/pi-hole com.docker.compose.service:pihole com.docker.compose.version:1.25.5 image:pihole/pihole:latest maintainer:adam@diginc.us name:pihole traefik.docker.network:web traefik.enable:true traefik.http.routers.pihole.entrypoints:http traefik.http.routers.pihole.rule:PathPrefix(`/`) traefik.http.services.pihole.loadbalancer.server.port:80 url:https://www.github.com/pi-hole/docker-pi-hole]} Scope:local Time:1588514476 TimeNano:1588514476657434084}" providerName=docker +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Filtering disabled container" providerName=docker container=traefik-pi-hole-67c8ac28f250dc960da708895724a9d5753b9797f8fa4af599898c364673eaab +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"pihole\":{\"entryPoints\":[\"http\"],\"service\":\"pihole\",\"rule\":\"PathPrefix(`/`)\"}},\"services\":{\"pihole\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.26.0.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}" providerName=docker +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware api@internal" routerName=api@internal middlewareName=tracing middlewareType=TracingForwarder entryPointName=traefik +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware dashboard@internal" middlewareType=TracingForwarder entryPointName=traefik routerName=dashboard@internal middlewareName=tracing +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix entryPointName=traefik +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex entryPointName=traefik +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Setting up redirection from ^(http:\\/\\/[^:\\/]+(:\\d+)?)\\/$ to ${1}/dashboard/" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=traefik +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=pihole@docker serviceName=pihole middlewareName=pipelining middlewareType=Pipelining entryPointName=http +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating load-balancer" entryPointName=http routerName=pihole@docker serviceName=pihole +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating server 0 http://172.26.0.3:80" serviceName=pihole serverName=0 entryPointName=http routerName=pihole@docker +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware pihole" middlewareType=TracingForwarder entryPointName=http routerName=pihole@docker middlewareName=tracing +traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" entryPointName=http middlewareName=traefik-internal-recovery middlewareType=Recovery +traefik | time="2020-05-03T14:01:16Z" level=debug msg="No default certificate, generating one" ``` Also your port 8080 should list the Route/Rule for pihole and backend-pihole container. From edde4390231567914e747a90954532eca79305e3 Mon Sep 17 00:00:00 2001 From: Fazlul Shahriar Date: Mon, 11 May 2020 01:53:49 -0400 Subject: [PATCH 2/6] Fix docker_run.sh syntax The trailing backslash must be the last character on the line for it to be interpreted as a continuation command. Signed-off-by: Fazlul Shahriar --- docker_run.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker_run.sh b/docker_run.sh index e14d33d..dc7ba7f 100755 --- a/docker_run.sh +++ b/docker_run.sh @@ -2,6 +2,7 @@ # https://github.com/pi-hole/docker-pi-hole/blob/master/README.md +# Note: ServerIP should be replaced with your external ip. docker run -d \ --name pihole \ -p 53:53/tcp -p 53:53/udp \ @@ -15,7 +16,7 @@ docker run -d \ --hostname pi.hole \ -e VIRTUAL_HOST="pi.hole" \ -e PROXY_LOCATION="pi.hole" \ - -e ServerIP="127.0.0.1" \ # should be replaced with your external ip + -e ServerIP="127.0.0.1" \ pihole/pihole:latest printf 'Starting up pihole container ' From 59753e30a34004428bb1054dc6098ee3fc34bde2 Mon Sep 17 00:00:00 2001 From: chinskiy Date: Mon, 11 May 2020 15:40:35 +0300 Subject: [PATCH 3/6] pin traefik version, few more tweaks Signed-off-by: chinskiy --- docker-compose-traefik-proxy.md | 49 +++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/docker-compose-traefik-proxy.md b/docker-compose-traefik-proxy.md index 70178d4..d9a4d1c 100644 --- a/docker-compose-traefik-proxy.md +++ b/docker-compose-traefik-proxy.md @@ -19,13 +19,13 @@ services: container_name: traefik domainname: homedomain.lan - image: traefik + image: traefik:v2.2 restart: unless-stopped # Note I opt to whitelist certain apps for exposure to traefik instead of auto discovery # use `--providers.docker.exposedbydefault=true` if you don't want to have to do this command: - "--providers.docker=true" - - "--providers.docker.network=web" + - "--providers.docker.network=discovery" - "--providers.docker.exposedbydefault=false" - "--api.insecure=true" - "--api.dashboard=true" @@ -40,7 +40,7 @@ services: - /dev/null:/traefik.toml networks: - default - - web + - discovery dns: - 192.168.1.50 - 192.168.1.1 @@ -51,7 +51,7 @@ services: image: pihole/pihole:latest networks: - - web + - discovery dns: - 127.0.0.1 - 1.1.1.1 @@ -76,39 +76,40 @@ services: labels: # required when using --providers.docker.exposedbydefault=false - "traefik.enable=true" - - "traefik.http.routers.pihole.rule=PathPrefix(`/`)" + - "traefik.http.routers.pihole.rule=Host(`pihole.homedomain.lan`)" - "traefik.http.routers.pihole.entrypoints=http" - - "traefik.docker.network=web" + - "traefik.docker.network=discovery" - "traefik.http.services.pihole.loadbalancer.server.port=80" networks: # Discovery is manually created to avoid forcing any order of docker-compose stack creation (`docker network create discovery`) # allows other compose files to be seen by proxy # Not required if you aren't using multiple docker-compose files... - web: + discovery: external: true ``` After running `docker-compose up -d` you should see this if you look at logs on traefik `docker-compose logs -f traefik` ``` -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Provider event received {Status:health_status: healthy ID:daf190c70930ec8830213a4e3b710ae558048798dd7229885eedd92a05a25df8 From:pihole/pihole:latest Type:container Action:health_status: healthy Actor:{ID:daf190c70930ec8830213a4e3b710ae558048798dd7229885eedd92a05a25df8 Attributes:map[com.docker.compose.config-hash:6195e8f8f24f1eb3a4866cb02407813596401b91939149c71b5fb8ecfefbaab5 com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:pi-hole com.docker.compose.project.config_files:docker-compose.yml com.docker.compose.project.working_dir:/opt/pi-hole com.docker.compose.service:pihole com.docker.compose.version:1.25.5 image:pihole/pihole:latest maintainer:adam@diginc.us name:pihole traefik.docker.network:web traefik.enable:true traefik.http.routers.pihole.entrypoints:http traefik.http.routers.pihole.rule:PathPrefix(`/`) traefik.http.services.pihole.loadbalancer.server.port:80 url:https://www.github.com/pi-hole/docker-pi-hole]} Scope:local Time:1588514476 TimeNano:1588514476657434084}" providerName=docker -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Filtering disabled container" providerName=docker container=traefik-pi-hole-67c8ac28f250dc960da708895724a9d5753b9797f8fa4af599898c364673eaab -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"pihole\":{\"entryPoints\":[\"http\"],\"service\":\"pihole\",\"rule\":\"PathPrefix(`/`)\"}},\"services\":{\"pihole\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.26.0.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}" providerName=docker -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware api@internal" routerName=api@internal middlewareName=tracing middlewareType=TracingForwarder entryPointName=traefik -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware dashboard@internal" middlewareType=TracingForwarder entryPointName=traefik routerName=dashboard@internal middlewareName=tracing -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix entryPointName=traefik -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex entryPointName=traefik -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Setting up redirection from ^(http:\\/\\/[^:\\/]+(:\\d+)?)\\/$ to ${1}/dashboard/" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=traefik -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" routerName=pihole@docker serviceName=pihole middlewareName=pipelining middlewareType=Pipelining entryPointName=http -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating load-balancer" entryPointName=http routerName=pihole@docker serviceName=pihole -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating server 0 http://172.26.0.3:80" serviceName=pihole serverName=0 entryPointName=http routerName=pihole@docker -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Added outgoing tracing middleware pihole" middlewareType=TracingForwarder entryPointName=http routerName=pihole@docker middlewareName=tracing -traefik | time="2020-05-03T14:01:16Z" level=debug msg="Creating middleware" entryPointName=http middlewareName=traefik-internal-recovery middlewareType=Recovery -traefik | time="2020-05-03T14:01:16Z" level=debug msg="No default certificate, generating one" +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Provider event received {Status:health_status: healthy ID:3befdc0a97908de7a679109c8cf1d2a6bf8a78c9018faae697b7251f1ff38932 From:pihole/pihole:latest Type:container Action:health_status: healthy Actor:{ID:3befdc0a97908de7a679109c8cf1d2a6bf8a78c9018faae697b7251f1ff38932 Attributes:map[com.docker.compose.config-hash:b2785684a80ef0cc97b7c34697e239ad90ef68580f2cc286f183c95d966f6eae com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:pi-hole com.docker.compose.project.config_files:docker-compose.yml com.docker.compose.project.working_dir:/opt/pi-hole com.docker.compose.service:pihole com.docker.compose.version:1.25.5 image:pihole/pihole:latest maintainer:adam@diginc.us name:pihole traefik.docker.network:discovery traefik.enable:true traefik.http.routers.pihole.entrypoints:http traefik.http.routers.pihole.rule:Host(`pihole.homedomain.lan`) traefik.http.services.pihole.loadbalancer.server.port:80 url:https://www.github.com/pi-hole/docker-pi-hole]} Scope:local Time:1589199915 TimeNano:1589199915511243989}" providerName=docker +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Filtering disabled container" providerName=docker container=traefik-pi-hole-c5847115be3d90c73a89824f80f1e6882bd8de60c50063f56be9d224192a14f4 +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Configuration received from provider docker: {\"http\":{\"routers\":{\"pihole\":{\"entryPoints\":[\"http\"],\"service\":\"pihole\",\"rule\":\"Host(`pihole.homedomain.lan`)\"}},\"services\":{\"pihole\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.18.0.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}" providerName=docker +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating middleware" middlewareType=Pipelining entryPointName=http routerName=pihole@docker serviceName=pihole middlewareName=pipelining +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating load-balancer" entryPointName=http routerName=pihole@docker serviceName=pihole +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating server 0 http://172.18.0.3:80" entryPointName=http serverName=0 routerName=pihole@docker serviceName=pihole +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Added outgoing tracing middleware pihole" entryPointName=http routerName=pihole@docker middlewareName=tracing middlewareType=TracingForwarder +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating middleware" entryPointName=http middlewareName=traefik-internal-recovery middlewareType=Recovery +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Added outgoing tracing middleware dashboard@internal" middlewareType=TracingForwarder entryPointName=traefik routerName=dashboard@internal middlewareName=tracing +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating middleware" middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex entryPointName=traefik routerName=dashboard@internal +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Setting up redirection from ^(http:\\/\\/[^:\\/]+(:\\d+)?)\\/$ to ${1}/dashboard/" middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex entryPointName=traefik routerName=dashboard@internal +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Adding tracing to middleware" routerName=dashboard@internal middlewareName=dashboard_redirect@internal entryPointName=traefik +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Added outgoing tracing middleware api@internal" entryPointName=traefik routerName=api@internal middlewareName=tracing middlewareType=TracingForwarder +traefik | time="2020-05-11T12:25:15Z" level=debug msg="Creating middleware" entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery +traefik | time="2020-05-11T12:25:15Z" level=debug msg="No default certificate, generating one" + ``` Also your port 8080 should list the Route/Rule for pihole and backend-pihole container. From 441bc671593d6ca182bd0921263e10db021069a3 Mon Sep 17 00:00:00 2001 From: Adam Hill Date: Mon, 11 May 2020 18:12:08 -0500 Subject: [PATCH 4/6] Update docker-compose-traefik-proxy.md --- docker-compose-traefik-proxy.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose-traefik-proxy.md b/docker-compose-traefik-proxy.md index d9a4d1c..4b8c034 100644 --- a/docker-compose-traefik-proxy.md +++ b/docker-compose-traefik-proxy.md @@ -37,7 +37,6 @@ services: - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - - /dev/null:/traefik.toml networks: - default - discovery From c619303a3096075858bcd684cdc2833da02dd2e1 Mon Sep 17 00:00:00 2001 From: Adam Hill Date: Fri, 15 May 2020 09:53:14 -0500 Subject: [PATCH 5/6] Update ISSUE_TEMPLATE.md --- .github/ISSUE_TEMPLATE.md | 74 ++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 7ded92d..cd7d8db 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,52 +1,48 @@ -This is a... + -- [ ] Request for a new or modified feature -- [ ] Issue trying to run the docker image -- [ ] Issue trying to build / test / develop the docker image + +This is a: **FILL ME IN** -## Description - -## Expected Behavior - +## Details + -## Actual Behavior - +## Related Issues +- [ ] I have searched this repository/Pi-hole forums for existing issues and pull requests that look similar + -## Possible Fix - + + -## Steps to Reproduce and debugging done - -e.g. your docker run command, pages to visit, CLI commands you ran -1. -2. -3. -4. +## How to reproduce the issue -## Debug steps I have tried - +1. Environment data + * Operating System: **ENTER HERE** + * Hardware: + * Kernel Architecture: + * Docker Install Info and version: + - Software source: + - Supplimentary Software: + * Hardware architecture: -- [ ] I have tried destroying my container instance, pulling the newest image version, and re-creating a new container -- [ ] I have tried running the nearly stock `docker run` example in the readme (removing any customizations I added) +2. docker-compose.yml contents, docker run shell command, or paste a screenshot of any UI based configuration of containers here +3. any additional info to help reproduce + + +## These common fixes didn't work for my issue + +- [ ] I have tried removing/destroying my container, and re-creating a new container +- [ ] I have tried fresh volume data by backing up and moving/removing the old volume data +- [ ] I have tried running the stock `docker run` example(s) in the readme (removing any customizations I added) +- [ ] I have tried a newer or older version of Docker Pi-hole (depending what version the issue started in for me) - [ ] I have tried running without my volume data mounts to eliminate volumes as the cause -- [ ] I have searched this repository for existing issues and pull requests that look similar - - - - - -## Context and extra information - - - -## Your Environment - -* Docker Host Operating System and OS Version: -* Docker Version: -* Hardware architecture: - +If the above debugging / fixes revealed any new information note it here. +Add any other debugging steps you've taken or theories on root cause that may help. From ecb0aaf805d693fb6f1da2d57c908111b3b556e8 Mon Sep 17 00:00:00 2001 From: Sandro Date: Sat, 30 May 2020 06:56:32 +0200 Subject: [PATCH 6/6] Don't bind to 127.0.0.1 when listening on all ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #495 Signed-off-by: Sandro Jäckel --- bash_functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bash_functions.sh b/bash_functions.sh index f2567dc..3117db7 100644 --- a/bash_functions.sh +++ b/bash_functions.sh @@ -237,7 +237,7 @@ setup_dnsmasq_hostnames() { setup_lighttpd_bind() { local serverip="$1" # if using '--net=host' only bind lighttpd on $ServerIP and localhost - if grep -q "docker" /proc/net/dev ; then #docker (docker0 by default) should only be present on the host system + if grep -q "docker" /proc/net/dev && [[ $serverip != 0.0.0.0 ]]; then #docker (docker0 by default) should only be present on the host system if ! grep -q "server.bind" /etc/lighttpd/lighttpd.conf ; then # if the declaration is already there, don't add it again sed -i -E "s/server\.port\s+\=\s+([0-9]+)/server.bind\t\t = \"${serverip}\"\nserver.port\t\t = \1\n"\$SERVER"\[\"socket\"\] == \"127\.0\.0\.1:\1\" \{\}/" /etc/lighttpd/lighttpd.conf fi