35 lines
997 B
YAML
35 lines
997 B
YAML
networks:
|
|
traefik-public:
|
|
external: true
|
|
|
|
volumes:
|
|
esphome_config: {}
|
|
|
|
services:
|
|
esphome:
|
|
container_name: esphome
|
|
image: ghcr.io/esphome/esphome
|
|
environment:
|
|
- USERNAME=${DATABASE__USERNAME}
|
|
- PASSWORD=${DATABASE__PASSWORD}
|
|
- TZ=${TZ:-UTC}
|
|
- DOMAIN=${DOMAIN}
|
|
volumes:
|
|
- esphome_config:/config
|
|
restart: always
|
|
privileged: true
|
|
networks:
|
|
- traefik-public
|
|
deploy:
|
|
# placement:
|
|
# constraints:
|
|
# - node.labels.esphome.esphome_config == true
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.swarm.network=traefik-public
|
|
- traefik.constraint-label=traefik-public
|
|
- traefik.http.routers.esphome.entrypoints=https
|
|
- traefik.http.routers.esphome.rule=Host(`esphome.${DOMAIN}`)
|
|
- traefik.http.routers.esphome.tls.certresolver=le
|
|
- traefik.http.routers.esphome.service=esphome_app
|
|
- traefik.http.services.esphome_app.loadbalancer.server.port=6052 |