Files
docker-compose/home-assistant/docker-compose.yaml
2025-03-07 21:37:32 +01:00

177 lines
5.8 KiB
YAML

version: '3'
services:
homeassistant:
container_name: HomeAssistant
network_mode: host
image: "${DOCKER_REGISTRY:-}ghcr.io/home-assistant/home-assistant:latest"
volumes:
- /share/docker_data/ha/:/config
#- /dev/skyconnect:/dev/ttyUSB1
# - /dev/ttyUSB1:/dev/ttyUSB1
#- /var/log:/logging
- /var/run/docker.sock:/var/run/docker.sock
- /run/dbus:/run/dbus:ro
privileged: true
environment:
- DISABLE_JEMALLOC=value
- TZ=Europe/Bratislava
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
#- homepage.widget.custom=[{"state","sensor.sonoff_1001555a27_power"}]
restart: ${RESTART:-unless-stopped}
dns:
- 192.168.77.101
# ollama:
# volumes:
# - /share/docker_data/ollama:/root/.ollama
# ports:
# - 11434:11434
# container_name: ollama
# # image: ollama/ollama:0.1.27-rocm
# image: ollama/ollama
# # environment:
# # - HSA_OVERRIDE_GFX_VERSION=9.0.0
# # devices:
# # - /dev/dri/renderD128
# # - /dev/dri/card1
# # - /dev/kfd
# labels:
# com.centurylinklabs.watchtower.enable: true
esphome:
container_name: esphome
image: ${DOCKER_REGISTRY:-}esphome/esphome:latest
volumes:
- /share/docker_data/esphome/config:/config
- /etc/localtime:/etc/localtime:ro
restart: ${RESTART:-unless-stopped}
privileged: true
network_mode: host
environment:
- USERNAME=jaydee
- PASSWORD=jaydee1
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
wyoming-piper-en:
image: ${DOCKER_REGISTRY:-}rhasspy/wyoming-piper
container_name: piper-en
ports:
- 10200:10200
volumes:
- /share/docker_data/piper/english:/data
command: --voice en_US-lessac-medium
restart: ${RESTART:-unless-stopped}
labels:
com.centurylinklabs.watchtower.enable: true
wyoming-whisper-en:
image: ${DOCKER_REGISTRY:-}rhasspy/wyoming-whisper
container_name: whisper-en
ports:
- 10300:10300
volumes:
- /share/docker_data/whisper/english:/data
command: --model tiny-int8 --language en
restart: ${RESTART:-unless-stopped}
labels:
com.centurylinklabs.watchtower.enable: true
openwakeword:
container_name: 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 # Place my custom wakewords here
environment:
- TZ=Europe/Bratislava
restart: ${RESTART:-unless-stopped}
ports:
- 10400:10400
- 10400:10400/udp
labels:
com.centurylinklabs.watchtower.enable: true
matter-server:
container_name: matter-server
image: ${DOCKER_REGISTRY:-}ghcr.io/home-assistant-libs/python-matter-server:stable
restart: ${RESTART:-unless-stopped}
security_opt:
- apparmor=unconfined
volumes:
- /share/docker_data/matter-server:/data
- /run/dbus:/run/dbus:ro
network_mode: host
labels:
com.centurylinklabs.watchtower.enable: true
music-assistant-server:
image: ${DOCKER_REGISTRY:-}ghcr.io/music-assistant/server:latest # <<< Desired release version here (or use beta to get the latest beta version)
container_name: music-assistant-server
restart: ${RESTART:-unless-stopped}
# Network mode must be set to host for MA to work correctly
network_mode: host
volumes:
- /share/docker_data/music-assistant-server/data:/data/
# privileged caps (and security-opt) needed to mount smb folders within the container
cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH
security_opt:
- apparmor:unconfined
environment:
# Provide logging level as environment variable.
# default=info, possible=(critical, error, warning, info, debug)
- LOG_LEVEL=info
labels:
com.centurylinklabs.watchtower.enable: true
influxdb:
ports:
- 8086:8086
volumes:
- /share/docker_data/influxdb/data:/var/lib/influxdb2
- /share/docker_data/influxdb/config:/etc/influxdb2
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
image: ${DOCKER_REGISTRY:-}influxdb:2
restart: ${RESTART:-unless-stopped}
healthcheck:
test: "echo test > /var/lib/influxdb2/hc || exit 1"
interval: 10s
timeout: 3s
retries: 2
labels:
com.centurylinklabs.watchtower.enable: true