services: wled-scheduler: build: . # Device online/offline status is now entirely mDNS-based (see # app/mdns.py), which needs UDP multicast to 224.0.0.251:5353. # That does not pass through Docker's default bridge network, so # host networking is a hard requirement now, not an optional # nicety -- without it, every device will read offline permanently. # `ports:` is dropped deliberately: it's ignored (and misleading to # leave in) under network_mode: host, since the container already # shares the host's network namespace directly. The app is reachable # at the host machine's own IP on port 8000 (or $PORT if overridden). network_mode: host volumes: - ./data:/app/data environment: - DATABASE_PATH=data/scheduler.db - LOG_LEVEL=INFO # SCHEDULER_POLL_INTERVAL_SECONDS=30 is the default; override here if needed. restart: unless-stopped