Files
cloudy/swarm/esphome.yml
T

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