1. The problem I’m having:
I have installed Caddy on a Docker stack, and have pi-hole running for local dns-ing. What I am trying to achieve is that i don’t have to enter 192.168.0.2/administrator for example to access the Pi-Hole interface but can enter pi.hole and caddy takes care of it.
Homeassistant doensn’t work either
2. Error messages and/or full log output:
{"level":"error","ts":1678390884.6622994,"logger":"http.log.error","msg":"dial tcp 192.168.0.2:80: i/o timeout","request":{"remote_ip":"192.168.0.31","remote_port":"57346","proto":"HTTP/1.1","method":"GET","host":"pi.hole","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15"],"Accept-Language":["de-DE,de;q=0.9"],"Accept-Encoding":["gzip, deflate"],"Connection":["keep-alive"]}},"duration":3.000354902,"status":502,"err_id":"6de857awz","err_trace":"reverseproxy.statusError (reverseproxy.go:1299)"}
{"level":"error","ts":1678390899.7533762,"logger":"http.log.error","msg":"dial tcp 192.168.0.2:80: i/o timeout","request":{"remote_ip":"192.168.0.31","remote_port":"57371","proto":"HTTP/1.1","method":"GET","host":"pi.hole","uri":"/","headers":{"Accept-Language":["de-DE,de;q=0.9"],"Accept-Encoding":["gzip, deflate"],"Connection":["keep-alive"],"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15"]}},"duration":3.00017248,"status":502,"err_id":"2e3gf8p5k","err_trace":"reverseproxy.statusError (reverseproxy.go:1299)"}
{"level":"error","ts":1678391120.4832447,"logger":"http.log.error","msg":"dial tcp 192.168.0.2:80: i/o timeout","request":{"remote_ip":"192.168.0.31","remote_port":"57484","proto":"HTTP/1.1","method":"GET","host":"pi.hole","uri":"/","headers":{"Upgrade-Insecure-Requests":["1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"User-Agent":["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15"],"Accept-Language":["de-DE,de;q=0.9"],"Accept-Encoding":["gzip, deflate"],"Connection":["keep-alive"]}},"duration":3.000246307,"status":502,"err_id":"skxt7adbn","err_trace":"reverseproxy.statusError (reverseproxy.go:1299)"}
3. Caddy version:
2.6.4
4. How I installed and ran Caddy:
Docker Stack on an Debian LXC on a Proxmox Hypervisor
a. System environment:
as above
b. Command:
PASTE OVER THIS, BETWEEN THE ``` LINES.
Please use the preview pane to ensure it looks nice.
c. Service/unit/compose file:
caddy:
image: caddy:2
container_name: caddy
restart: always
ports:
- 80:80 # Needed for the ACME HTTP-01 challenge.
- 443:443
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-config:/config
- ./caddy-data:/data
environment:
- DOMAIN=mine.duckdns.org # Your domain.
- EMAIL=mail@mine.de # The email address to use for ACME registration.
- LOG_FILE=/data/access.log
d. My complete Caddy config:
# Vaultwarden
vaultwarden.mine.duckdns.org:443 {
log {
level INFO
output file {$LOG_FILE} {
roll_size 10MB
roll_keep 10
}
}
tls mail@mine.de
encode gzip
reverse_proxy /notifications/hub vaultwarden:3012
reverse_proxy vaultwarden:80 {
header_up X-Real-IP {remote_host}
}
}
# Vaultwarden intern
192.168.0.29:443 {
log {
level INFO
output file {$LOG_FILE} {
roll_size 10MB
roll_keep 10
}
}
tls mail@mine.de
encode gzip
reverse_proxy vaultwarden:80
}
# Homeassistant intern
http://home.assistant:80 {
reverse_proxy http://192.168.0.12:8123
}
http://pi.hole:80, http://pihole:80 {
rewrite * /admin{uri}
reverse_proxy 192.168.0.2:80
}
5. Links to relevant resources:
Pi:Hole