doorbell: switch to Squiggle plug, host networking for ntfy access
This commit is contained in:
+2
-84
@@ -87,96 +87,14 @@ services:
|
||||
build: ./doorbell-listener
|
||||
container_name: doorbell-listener
|
||||
restart: unless-stopped
|
||||
network_mode: host
|
||||
depends_on:
|
||||
mosquitto:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ./doorbell-listener/state:/data/doorbell-listener
|
||||
environment:
|
||||
MQTT_HOST: mosquitto
|
||||
MQTT_PORT: "1883"
|
||||
PLUG_TOPIC: "zigbee2mqtt/Squiggle/set"
|
||||
POLL_INTERVAL: "5"
|
||||
MAX_AGE_SECONDS: "180"
|
||||
FLASH_INTERVAL_SECONDS: "1"
|
||||
FLASH_DURATION_SECONDS: "14"
|
||||
TZ: America/Los_Angeles
|
||||
|
||||
# Audio router: PipeWire + WirePlumber + PulseAudio bridge + BlueZ.
|
||||
# Routes audio from librespot / mopidy / phone-Bluetooth to USB DAC (Q5K)
|
||||
# via ALSA. Falls back to RPi 3.5mm / HDMI if no USB DAC.
|
||||
# PEQ is applied on the DAC side (Q5K's Qudelix app, 20 bands), not here.
|
||||
# NOTE: /run/dbus + /run/user/0 use tmpfs (NOT host bind-mount) — the host's
|
||||
# dbus socket is /run/dbus/system_bus_socket and bind-mounting our container's
|
||||
# socket overwrites it, breaking dockerd's ability to talk to systemd.
|
||||
audio-bridge:
|
||||
build: ./audio-bridge
|
||||
container_name: audio-bridge
|
||||
restart: unless-stopped
|
||||
privileged: true
|
||||
network_mode: host
|
||||
devices:
|
||||
- /dev/snd:/dev/snd
|
||||
tmpfs:
|
||||
- /run/dbus:size=1M
|
||||
- /run/user/0:size=1M
|
||||
cap_add:
|
||||
- SYS_ADMIN # bluetoothd needs CAP_SYS_ADMIN for HCI
|
||||
- NET_ADMIN
|
||||
|
||||
# Spotify Connect: phone's Spotify app shows "Klubhaus" as a Connect target.
|
||||
# Outputs audio to audio-bridge via PulseAudio (TCP localhost:4713).
|
||||
# Built locally on RPi (cross-compile is too slow under qemu).
|
||||
librespot:
|
||||
build: ./librespot
|
||||
image: infra-librespot:latest
|
||||
container_name: librespot
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- audio-bridge
|
||||
network_mode: host
|
||||
# CMD is set in Dockerfile; do not override here.
|
||||
volumes:
|
||||
- librespot_cache:/var/cache/librespot
|
||||
|
||||
# Mopidy: Qobuz + local files + internet radio. Web UI on http://rpi:6680.
|
||||
# Outputs audio to audio-bridge via PulseAudio (localhost:4713).
|
||||
# Get Qobuz app_id + secret from https://developer.qobuz.com/api/v1/oauth
|
||||
# Built locally from python:3.12-slim + pip install (no ghcr.io image).
|
||||
mopidy:
|
||||
build: ./mopidy
|
||||
image: infra-mopidy:latest
|
||||
container_name: mopidy
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- audio-bridge
|
||||
network_mode: host
|
||||
ports:
|
||||
- "6680:6680"
|
||||
volumes:
|
||||
- ./mopidy/data:/var/lib/mopidy
|
||||
- ./mopidy/music:/music # drop FLACs in infra/mopidy/music/
|
||||
environment:
|
||||
TZ: America/Los_Angeles
|
||||
QOBUZ_APP_ID: "${QOBUZ_APP_ID:-}"
|
||||
QOBUZ_APP_SECRET: "${QOBUZ_APP_SECRET:-}"
|
||||
QOBUZ_USERNAME: "${QOBUZ_USERNAME:-}"
|
||||
QOBUZ_PASSWORD: "${QOBUZ_PASSWORD:-}"
|
||||
|
||||
# Party lock: blocks state changes to DJ Booth plug when locked.
|
||||
# Watches party-lock/dj-booth/set and swaps mosquitto ACL file.
|
||||
party-lock:
|
||||
build: ./party-lock
|
||||
container_name: party-lock
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mosquitto:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- ./mosquitto/config:/mosquitto/config
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
MQTT_HOST: mosquitto
|
||||
MQTT_HOST: 192.168.81.147
|
||||
MQTT_PORT: "1883"
|
||||
TZ: America/Los_Angeles
|
||||
|
||||
|
||||
Reference in New Issue
Block a user