docker-apps/esphome/stacks/compose.yml

45 lines
1.9 KiB
YAML

name: esphome
networks:
traefik-net:
external: true
macvlan1:
external: true
services:
esphome:
hostname: esphome
image: esphome/esphome
env_file: .esphome.env
volumes:
- /etc/localtime:/etc/localtime:ro
- ${DATADIR}/config:/config
# - /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket
restart: unless-stopped
privileged: true
networks:
traefik-net:
macvlan1:
ipv4_address: ${ESPHOME_LOCAL}
labels:
- traefik.enable=true
- traefik.docker.network=traefik-net
- "traefik.http.services.${APPLICATION_NAME}-svc.loadbalancer.server.port=${WEBUI_PORT}"
- "traefik.http.routers.${APPLICATION_NAME}-rtr.entrypoints=web"
- "traefik.http.routers.${APPLICATION_NAME}-rtr.rule=Host(`${APPLICATION_NAME}.${DOMAINNAME}`)&& PathPrefix(`/`)"
- "traefik.http.routers.${APPLICATION_NAME}-rtr.middlewares=http-mw-secureHeaders-redirect@file"
- "traefik.http.routers.${APPLICATION_NAME}-rtr.service=${APPLICATION_NAME}-svc"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.entrypoints=websecure"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.rule=Host(`${APPLICATION_NAME}.${DOMAINNAME}`)&& PathPrefix(`/`)"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.middlewares=http-mw-secureHeaders@file"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.tls=true"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.tls.options=tls-options@file"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.tls.certresolver=solver-dns"
- "traefik.http.routers.${APPLICATION_NAME}-secure-rtr.service=${APPLICATION_NAME}-svc"
avahi-tools:
volumes:
- /run/dbus:/var/run/dbus
- /run/avahi-daemon:/var/run/avahi-daemon
image: ahasbini/avahi-tools:latest
command: avahi-publish -a esphome.local ${ESPHOME_LOCAL}
#command: avahi-publish-service -s esphome.local _http._tcp