Update: Inmiddels is Traefik 2.x beschikbaar, zie https://www.jbswebcom.nl/knutselen/index.php/traefik-2

Onderstaande is niet de enige of per se de beste werkwijze, maar wel de door mij gekozen :-)
Mijn domein is ondergebracht bij TransIP. Op mijn NUC draai ik Ubuntu.

Forward port 443 en 80 naar het IP adres van je NUC/Raspberry Pi/anders.
Maak subdomeinen aan en zorgt dat deze naar je publieke IP adres verwijzen.

In de user map maak je een map 'docker' aan, daarin maak je een docker-compose.yaml met daarin onderstaande code voor het starten van de Traefik docker container.

version: "3.6"
services:
traefik:
container_name: traefik
image: traefik:latest
command: --api
restart: always
ports:
- 80:80
- 443:443
networks:
- traefik
volumes:
- ./traefik/traefik.toml:/traefik.toml:ro
- ./traefik/acme.json:/acme.json
- ./traefik/rules:/rules:ro
- /var/run/docker.sock:/var/run/docker.sock
labels:
- traefik.frontend.rule=Host:traefik.domein.nl
- traefik.port=8087
- traefik.enable=true

Maak in de docker map een map 'traefik' aan met daarin een map 'rules'. Maak in de 'traefik' map een bestand 'traefik.toml' aan met de inhoud:

logLevel = "warn"
defaultEntryPoints = ["http", "https"]
insecureSkipVerify = true
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS12"
cipherSuites = [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" ]
[entryPoints.traefik]
address = ":8087"
[entryPoints.traefik.auth.basic]
usersFile=".htpasswd"
[api]
entryPoint = "traefik"
dashboard = true
debug = false
address = ":8087"
[file]
directory = "./rules"
watch = true

[docker]
exposedByDefault = false
domain = "domein.nl"
watch = true
[acme]
acmeLogging = true
email = "email@mail.com"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
onDemand = false
#caServer = "https://acme-staging.api.letsencrypt.org/directory"
#
[acme.httpChallenge]
entryPoint = "http"

Start de Traefik docker container:

docker-compose -f ${USERDIR}/docker/docker-compose.yml up -d

Maak per applicatie die je via Traefik wilt benaderen een bestand.toml aan in de rules map, bijvoorbeeld hass.toml (waarin je het subdomein en IP adres:port aanpast zodat deze juist verwijzen).

[frontends]
[frontends.hass]
backend = "hass"
[frontends.hass.routes.hass]
rule = "Host:hass.domein.nl"
passHostHeader = true
passTLSCert = true
priority = 10
entrypoints = ["https"]
[backends]
[backends.hass]
[backends.hass.servers.server1]
url = "http://192.168.178.24:8123"
weight = 1

traefik.domein.nl en hass.domein.nl zouden nu uit moeten komen bij Traefik en Home Assistant.

In Traefik zie je onder het tabje file het aangemaakte hass.toml bestand.

traefikfile

Het rule bestand hass.tom zichtbaar in de Traefik GUI:

traefikhass

Traefik is nu te benaderen via traefik.domein.nl en Home Assistant via hass.domein.nl