I'm a noob running several containers with Traefik v2 on a raspberry pi 3. I got into a dead end with pilight (orrpan/pilight_docker), a smart home automation (on-off-switch):
Running pilight-send -p elro_800_switch -s 3 -u 2 --on
as a cli command in the container switches socket on (and -off does its job too).
But trying the same via the webGUI failed. Https website loads fine, but then it got stuck in the attempt to connect to the sockets.
Logs of pilight seems to be ok.
Traefik logs telling me: level=error msg="unable to find the IP address for the container \"/pilight\": the server is ignored" container=pilight-pilight-87... providerName=docker
I'm searching for a while now and tested network_mode: host
without success along the lines of that guide (german): https://www.himpler.com/blog/network-mode-host-mit-traefik/
Hardware is connectable, but via webgui no IP address? Could anyone give me a clue what I'm missing?
Here's the docker-compose.yml of pilight:
version: '3'
services:
pilight:
image: orrpan/pilight_docker:latest
container_name: pilight
restart: unless-stopped
privileged: true
security_opt:
- no-new-privileges:true
environment:
- TZ=Europe/Berlin
ports:
- 5001:5001
- 5002:5002
# network_mode: host
networks:
- proxy
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
# - /home/pi/docker/pilight/data:/pilight
- /home/pi/docker/pilight/data:/etc/pilight
labels:
- "traefik.enable=true"
- "traefik.http.routers.pilight.entrypoints=http"
- "traefik.http.routers.pilight.rule=Host(`pilight.example.com`)"
- "traefik.http.middlewares.pilight-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.pilight.middlewares=pilight-https-redirect"
- "traefik.http.routers.pilight-secure.entrypoints=https"
- "traefik.http.routers.pilight-secure.rule=Host(`pilight.example.com`)"
- "traefik.http.routers.pilight-secure.tls=true"
- "traefik.http.routers.pilight-secure.service=pilight"
- "traefik.http.services.pilight.loadbalancer.server.port=5001"
# - "traefik.http.services.pilight.loadbalancer.server.port=5002"
- "traefik.docker.network=proxy"
networks:
proxy:
external: true
docker-compose.yml of Traefik:
version: '3'
services:
traefik:
image: traefik:v2.0
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- proxy
ports:
- 80:80
- 443:443
environment:
- NETCUP_CUSTOMER_NUMBER=xxxxxxxxxxx
- NETCUP_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- NETCUP_API_PASSWORD=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/traefik.yml:/traefik.yml:ro
- ./data/acme.json:/acme.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.entrypoints=http"
- "traefik.http.routers.traefik.rule=Host(`traefik.example.com`)"
- "traefik.http.middlewares.traefik-auth.basicauth.users=user:xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
- "traefik.http.middlewares.traefik-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.traefik.middlewares=traefik-https-redirect"
- "traefik.http.routers.traefik-secure.entrypoints=https"
- "traefik.http.routers.traefik-secure.rule=Host(`traefik.example.com`)"
- "traefik.http.routers.traefik-secure.middlewares=traefik-auth"
- "traefik.http.routers.traefik-secure.tls=true"
- "traefik.http.routers.traefik-secure.tls.certresolver=netcup"
- "traefik.http.routers.traefik-secure.tls.domains[0].main=example.com"
- "traefik.http.routers.traefik-secure.tls.domains[0].sans=*.example.com"
- "traefik.http.routers.traefik-secure.service=api@internal"
networks:
proxy:
external: true
traefik.yml:
api:
dashboard: true
debug: true
entryPoints:
http:
address: ":80"
https:
address: ":443"
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
serversTransport:
insecureSkipVerify: true
certificatesResolvers:
netcup:
acme:
email: xyz@email.com
storage: acme.json
dnsChallenge:
provider: netcup