Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Homeassistant with traefik 2.2 for TLS in docker-compose in network_mode: host
version: '2.1'
services:
homeassistant:
restart: always
image: homeassistant/raspberrypi3-homeassistant
expose:
- 8123
ports:
- "8123:8123"
devices:
- /dev/ttyACM0
volumes:
- ./config:/config
network_mode: host
labels:
- "traefik.enable=true"
- "traefik.http.routers.hahttp.rule=Host(`MY_DOMAIN`)"
- "traefik.http.routers.ha.rule=Host(`MY_DOMAIN`)"
- "traefik.http.routers.ha.tls=true"
- "traefik.http.routers.ha.tls.certresolver=le"
- "traefik.http.routers.ha.tls.domains[0].main=MY_DOMAIN"
- "traefik.http.services.homeassistant.loadbalancer.server.port=8123"
traefik:
restart: always
image: traefik:v2.2
command:
- "--api.dashboard=true"
- "--api.insecure=true"
- "--accesslog=true"
- "--providers.docker"
- "--providers.docker.exposedbydefault=false"
- "--entryPoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.le.acme.tlschallenge=true"
- "--certificatesresolvers.le.acme.email=MY_EMAIL"
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
ports:
- 80:80
- 8080:8080
- 443:443
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./letsencrypt:/letsencrypt"
extra_hosts:
- host.docker.internal:172.17.0.1
@cstuder

This comment has been minimized.

Copy link

cstuder commented Apr 27, 2020

Typo in line 18.

Thank you, I don't fully understand how it works, but I made my installation work thanks to the extra_hosts field.

@gaieges

This comment has been minimized.

Copy link
Owner Author

gaieges commented Apr 27, 2020

Great! hahttp is intentional, is that what you mean? It allows for a different router for https / http access

@cstuder

This comment has been minimized.

Copy link

cstuder commented Apr 27, 2020

Yes, I thought that was an accident. Guess I don't understand that line either. :-)

@gaieges

This comment has been minimized.

Copy link
Owner Author

gaieges commented Apr 27, 2020

No worries! Looking through it again it looks like I removed some parts that contained local secrets and not that line which related to the local secrets

@m-fonseca

This comment has been minimized.

Copy link

m-fonseca commented May 24, 2020

Thank you, this was useful to me, both the load balancer line and extra host.

I'm not sure if

    expose:
      - 8123
    ports:
      - "8123:8123"

gives you anything because your in host mode though. I don't have it in mine and it works fine.

@cooperaj

This comment has been minimized.

Copy link

cooperaj commented Jun 5, 2020

Why this works I don't know. But it does!

Just adding the extra host line and things are routed correctly from a Traefik instance in a docker network to a homeassistant instance with 'network_mode: host'. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.