version: '3.9' services: homeassistant: network_mode: host image: ${DOCKER_REGISTRY:-}ghcr.io/home-assistant/home-assistant:latest volumes: - /share/docker_data/ha/:/config - /var/run/docker.sock:/var/run/docker.sock - /run/dbus:/run/dbus:ro privileged: true environment: - DISABLE_JEMALLOC=value - TZ=Europe/Bratislava dns: - 192.168.77.101 deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true homepage.group: Smarthome homepage.name: Home Assistant homepage.weight: 1 homepage.icon: home-assistant.png homepage.href: https://ha.sectorq.eu homepage.description: 3D Printing homepage.server: my-docker homepage.container: HomeAssistant homepage.widget.type: homeassistant homepage.widget.url: https://ha.sectorq.eu homepage.widget.key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIzOTk5NGJjYjIzYjk0YzExYmM5OWZiNTBlNzU0N2M2YyIsImlhdCI6MTc0MDM5OTY4NCwiZXhwIjoyMDU1NzU5Njg0fQ.LDebvPGreyZzlWT1CylHSdSt8i_cWO72HnNCsCAIaG8 wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager esphome: image: ${DOCKER_REGISTRY:-}esphome/esphome:latest volumes: - /share/docker_data/esphome/config:/config - /etc/localtime:/etc/localtime:ro privileged: true network_mode: host environment: - USERNAME=jaydee - PASSWORD=jaydee1 deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true homepage.group: Smarthome homepage.name: ESPHome homepage.weight: 1 homepage.icon: esphome.png homepage.href: https://esphome.sectorq.eu homepage.description: 3D Printing homepage.server: my-docker homepage.container: esphome homepage.widget.type: esphome homepage.widget.url: https://esphome.sectorq.eu homepage.widget.username: jaydee homepage.widget.password: jaydee1 wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager wyoming-piper-en: image: ${DOCKER_REGISTRY:-}rhasspy/wyoming-piper ports: - 10200:10200 volumes: - /share/docker_data/piper/english:/data command: --data-dir /data --voice en_US-lessac-medium deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager wyoming-whisper-en: image: ${DOCKER_REGISTRY:-}rhasspy/wyoming-whisper ports: - 10300:10300 volumes: - /share/docker_data/whisper/english:/data command: --data-dir /data --model tiny-int8 --language en deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager openwakeword: image: ${DOCKER_REGISTRY:-}rhasspy/wyoming-openwakeword:latest command: --preload-model 'ok_nabu' --custom-model-dir /custom --model 'ok nabu' --model 'ok_nabu' --uri 'tcp://0.0.0.0:10400' --threshold 0.7 --trigger-level 2 --debug volumes: - /share/docker_data/openwakeword-data:/data - /share/docker_data/openwakeword-data:/custom environment: - TZ=Europe/Bratislava ports: - 10400:10400 - 10400:10400/udp deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager matter-server: image: ${DOCKER_REGISTRY:-}ghcr.io/home-assistant-libs/python-matter-server:stable security_opt: - apparmor=unconfined volumes: - /share/docker_data/matter-server:/data - /run/dbus:/run/dbus:ro network_mode: host deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager music-assistant-server: image: ${DOCKER_REGISTRY:-}ghcr.io/music-assistant/server:latest network_mode: host volumes: - /share/docker_data/music-assistant-server/data:/data/ cap_add: - SYS_ADMIN - DAC_READ_SEARCH security_opt: - apparmor:unconfined environment: - LOG_LEVEL=info deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true homepage.group: Smarthome homepage.name: music-assistant homepage.weight: 1 homepage.icon: music-assistant.png homepage.href: https://music.sectorq.eu homepage.description: Music homepage.server: my-docker homepage.container: music-assistant-server placement: constraints: - node.role == manager influxdb: ports: - 8086:8086 volumes: - /share/docker_data/influxdb/data:/var/lib/influxdb2 - /share/docker_data/influxdb/config:/etc/influxdb2 secrets: - influxdb2-admin-username - influxdb2-admin-password - influxdb2-admin-token environment: - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_USERNAME=ha - DOCKER_INFLUXDB_INIT_PASSWORD=haHAhaHA - DOCKER_INFLUXDB_INIT_ORG=ha - DOCKER_INFLUXDB_INIT_BUCKET=ha - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=mytoken123 - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE=/run/secrets/influxdb2-admin-token image: ${DOCKER_REGISTRY:-}influxdb:2 healthcheck: test: echo test > /var/lib/influxdb2/hc || exit 1 interval: 10s timeout: 3s retries: 2 deploy: mode: replicated replicas: 1 restart_policy: condition: any labels: com.centurylinklabs.watchtower.enable: true wud.watch: true wud.watch.digest: true placement: constraints: - node.role == manager secrets: influxdb2-admin-username: file: .env.influxdb2-admin-username influxdb2-admin-password: file: .env.influxdb2-admin-password influxdb2-admin-token: file: .env.influxdb2-admin-token