refactor(homeassistant): parameterize domain references and frigate cert paths
ci/woodpecker/push/woodpecker Pipeline was canceled

This commit is contained in:
2026-06-25 22:57:12 -07:00
parent ad0f8067bc
commit 43329a0caa
+8 -124
View File
@@ -41,7 +41,7 @@ services:
# - node.hostname == docker-3
labels:
- traefik.enable=true
- traefik.http.routers.hass.rule=Host(`home.bryanmail.net`)
- traefik.http.routers.hass.rule=Host(`home.${DOMAIN}`)
- traefik.http.routers.hass.tls=true
- traefik.http.routers.hass.tls.certresolver=letsencrypt
- traefik.http.routers.hass.entrypoints=websecure
@@ -49,7 +49,7 @@ services:
- traefik.swarm.network=traefik_backend
- traefik.http.services.hass.loadbalancer.server.scheme=https
- traefik.http.routers.hass.middlewares=crowdsec@file
# - traefik.http.routers.wss.rule=Host(`ws.${HOST}`)
# - traefik.http.routers.wss.rule=Host(`ws.${DOMAIN}`)
# - traefik.tcp.services.wss.loadbalancer.server.port=443
# - traefik.http.routers.wss.entrypoints=websecure
- autoheal=true
@@ -75,8 +75,8 @@ services:
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/frigate/config:/config
- /volume1/docker/frigate/media:/media/frigate
- /volume1/docker/letsencrypt/certs/certs/nvr.bryanmail.net.crt:/etc/letsencrypt/live/frigate/fullchain.pem
- /volume1/docker/letsencrypt/certs/private/nvr.bryanmail.net.key:/etc/letsencrypt/live/frigate/privkey.pem
- /volume1/docker/letsencrypt/certs/certs/nvr.${DOMAIN}.crt:/etc/letsencrypt/live/frigate/fullchain.pem
- /volume1/docker/letsencrypt/certs/private/nvr.${DOMAIN}.key:/etc/letsencrypt/live/frigate/privkey.pem
- /dev/dri/renderD128:/dev/dri/renderD128 # For intel hwaccel, needs to be updated for your hardware
# - /dev/dri:/dev/dri
- type: tmpfs ## Optional: #1GB of memory, reduces SSD/SD Card wear
@@ -110,8 +110,8 @@ services:
# - node.hostname == docker-3
labels:
- traefik.enable=true
- traefik.http.routers.frigate-auth.rule=Host(`nvr.bryanmail.net`)
- traefik.http.routers.frigate-ip.rule=Host(`nvr.bryanmail.net`) && ClientIP(`10.0.0.0/8`)
- traefik.http.routers.frigate-auth.rule=Host(`nvr.${DOMAIN}`)
- traefik.http.routers.frigate-ip.rule=Host(`nvr.${DOMAIN}`) && ClientIP(`10.0.0.0/8`)
- traefik.http.routers.frigate-auth.tls=true
- traefik.http.routers.frigate-ip.tls=true
- traefik.http.routers.frigate-auth.tls.certresolver=letsencrypt
@@ -219,7 +219,7 @@ services:
# endpoint_mode: dnsrr #removed during frigate integration testing
labels:
- traefik.enable=true
- traefik.http.routers.zigbee.rule=Host(`zb.bryanmail.net`)
- traefik.http.routers.zigbee.rule=Host(`zb.${DOMAIN}`)
- traefik.http.routers.zigbee.tls=true
- traefik.http.routers.zigbee.tls.certresolver=letsencrypt
- traefik.http.routers.zigbee.entrypoints=websecure
@@ -253,7 +253,7 @@ services:
# endpoint_mode: dnsrr #removed during frigate integration testing
labels:
- traefik.enable=true
- traefik.http.routers.esphome.rule=Host(`esp.bryanmail.net`)
- traefik.http.routers.esphome.rule=Host(`esp.${DOMAIN}`)
- traefik.http.routers.esphome.tls=true
- traefik.http.routers.esphome.tls.certresolver=letsencrypt
- traefik.http.routers.esphome.entrypoints=websecure
@@ -267,122 +267,6 @@ services:
cpus: '10'
memory: 4G
# wyze-bridge:
## restart: always
# image: mrlt8/wyze-bridge:latest
# hostname: cams
# volumes:
# - /volume1/docker/wyze-bridge/data:/data
# - /volume1/docker/wyze-bridge/config:/config
# - /volume1/docker/wyze-bridge/tokens:/tokens
# networks:
# - traefik_backend
## - host
# ports:
# - 1935:1935 # RTMP
# - 8554:8554 # RTSP
# - 8888:8888 # HLS
# - 8889:8889 #WebRTC
# - 8189:8189/udp # WebRTC/ICE
## - 5000:5000 # WEB-UI
# environment:
# # [OPTIONAL] (Can be set in the WebUI):
# # - WYZE_EMAIL=
# # - WYZE_PASSWORD=
# # - TOTP_KEY=
# # [OPTIONAL] IP Address of the host to enable WebRTC e.g.,:
# # - WB_IP=192.168.1.122
# # [OPTIONAL] Wyze API credentials:
# # - API_ID=
# # - API_KEY=
# - WB_RTSP_URL=rtsp://cams.bryanmail.net:1234/
# - WB_RTMP_URL=rtmp://cams.bryanmail.net:5678/
# - WB_HLS_URL=http://cams.bryanmail.net:9090/
# - WB_WEBRTC_URL=http://cams.bryanmail.net:9091/
# - NET_MODE=LAN
# - MQTT_HOST=tasks.mqtt:1883
# - MQTT_TOPIC=wyze-bridge
# - MQTT_DTOPIC=homeassistant
# - ENABLE_AUDIO=True
# - AUDIO_CODEC=AAC
# - FILTER_NAMES=Pan Cam, Baby Monitor
# - WB_AUTH=False
# deploy:
# endpoint_mode: dnsrr
# labels:
# - traefik.enable=true
# - traefik.http.routers.wb-auth.rule=Host(`cams.bryanmail.net`)
# - traefik.http.routers.wb-ip.rule=Host(`cams.bryanmail.net`) && ClientIP(`10.0.1.0/16`)
# - traefik.http.routers.wb-auth.tls=true
# - traefik.http.routers.wb-ip.tls=true
# - traefik.http.routers.wb-auth.tls.certresolver=letsencrypt
# - traefik.http.routers.wb-ip.tls.certresolver=letsencrypt
# - traefik.http.routers.wb-auth.entrypoints=websecure
# - traefik.http.routers.wb-ip.entrypoints=websecure
# - traefik.http.services.wb.loadbalancer.server.port=5000
## - traefik.http.routers.wb-auth.middlewares=wb-basicauth
## - traefik.http.middlewares.wb-basicauth.basicauth.users=test:$$2a$$12$$1sIFlNKcNrEApe2IScpFwukd7l1j/uvfxk0GeuqIk0BBcO9Mk2F2u
## - traefik.http.services.wb.loadbalancer.server.scheme=https
# - traefik.swarm.network=traefik_backend
# - traefik.http.routers.wb-auth.middlewares=forwardAuth-authentik@file, crowdsec@file
## - traefik.enable=true
## - traefik.http.routers.wyze-bridge-auth.rule=Host(`cams.bryanmail.net`)
## - traefik.http.routers.wyze-bridge-ip.rule=Host(`cams.bryanmail.net`) && ClientIP(`10.0.1.0/16`)
## - traefik.http.routers.wyze-bridge-auth.tls=true
## - traefik.http.routers.wyze-bridge-ip.tls=true
## - traefik.http.routers.wyze-bridge-auth.tls.certresolver=letsencrypt
## - traefik.http.routers.wyze-bridge-ip.tls.certresolver=letsencrypt
## - traefik.http.routers.wyze-bridge-auth.entrypoints=websecure
## - traefik.http.routers.wyze-bridge-ip.entrypoints=websecure
## - traefik.http.services.wyze-bridge.loadbalancer.server.port=5000
## - traefik.http.routers.wyze-bridge-auth.middlewares=frigate-basicauth
## - traefik.http.middlewares.wyze-bridge-basicauth.basicauth.users=test:$$2a$$12$$1sIFlNKcNrEApe2IScpFwukd7l1j/uvfxk0GeuqIk0BBcO9Mk2F2u
## - traefik.http.services.wyze-bridge.loadbalancer.server.scheme=https
## - traefik.swarm.network=traefik_backend
## - traefik.http.routers.wyze-bridge-auth.middlewares=forwardAuth-authentik@file
## resources:
## limits:
## cpus: '0.001'
## memory: 128M
# homebridge:
# image: homebridge/homebridge:latest
# restart: always
# networks:
# - traefik_backend
# ports:
# - 8581:8581
# volumes:
# - /volume1/docker/HomeBridge:/homebridge
# logging:
# driver: json-file
# options:
# max-size: "10mb"
# max-file: "1"
# deploy:
# resources:
# limits:
## cpus: '0.001'
# memory: 128M
# openwakeword:
# hostname: openWakeWord
# image: dalehumby/openwakeword-rhasspy:latest
# volumes:
# - /volume1/docker/openWakeWord/config:/config
# environment:
# - TZ=America/Pacific
# restart: always
# networks:
# - traefik_backend
# ports:
# - 12202:12202/udp
# deploy:
# resources:
# limits:
## cpus: '0.001'
# memory: 1024M
networks:
postgresql_db-backend:
external: true