-
Notifications
You must be signed in to change notification settings - Fork 7
DOCKER_DEV
Run development builds to test new features before they're released.
Warning: Development builds may contain bugs, incomplete features, or breaking changes. Use stable builds for production.
Pull and run the dev image:
docker run -d \
--name multiroom-audio-dev \
-p 8096:8096 \
--device /dev/snd:/dev/snd \
-v /proc/asound:/host/asound:ro \
-v ./config:/app/config \
ghcr.io/chrisuthe/multiroom-audio:devOr use Docker Compose:
version: '3.8'
services:
multiroom-audio:
image: ghcr.io/chrisuthe/multiroom-audio:dev
container_name: multiroom-audio-dev
restart: unless-stopped
ports:
- "8096:8096"
devices:
- /dev/snd:/dev/snd
volumes:
- ./config:/app/config
- ./logs:/app/logs
- /proc/asound:/host/asound:ro
network_mode: host
cap_add:
- SYS_NICEThese options are available in dev builds for testing and debugging:
| Variable | Default | Description |
|---|---|---|
MOCK_HARDWARE |
false |
Simulate audio devices and relay boards without hardware |
LOG_LEVEL |
info |
Logging verbosity: debug, info, warning, error
|
PA_SAMPLE_RATE |
48000 |
PulseAudio sample rate (applied at container startup) |
PA_SAMPLE_FORMAT |
float32le |
PulseAudio format: s16le, s24le, s32le, float32le
|
services:
multiroom-audio:
image: ghcr.io/chrisuthe/multiroom-audio:dev
environment:
- MOCK_HARDWARE=true
- LOG_LEVEL=debug
# ... rest of configdevices:
- /dev/snd:/dev/snd
volumes:
- /proc/asound:/host/asound:ro # Enables device capability detection
cap_add:
- SYS_NICE # Required for audio thread priorityDifferent relay board types require different device mappings:
USB HID Relay Boards:
devices:
- /dev/bus/usb:/dev/bus/usb # Required: device discovery
- /dev/hidraw0:/dev/hidraw0 # Required: relay control
- /dev/hidraw1:/dev/hidraw1 # Add one per boardFTDI Relay Boards:
devices:
- /dev/bus/usb:/dev/bus/usb
cap_add:
- SYS_RAWIO # Only if kernel driver claims deviceModbus/CH340 Relay Boards:
devices:
- /dev/ttyUSB0:/dev/ttyUSB0See 12V Triggers for detailed relay board setup.
Test without physical hardware by setting MOCK_HARDWARE=true. This simulates:
- 7 audio devices (USB DACs, Bluetooth, HDMI)
- 7 audio cards with profiles
- 5 relay boards (FTDI, HID, Modbus)
Customize mock devices by creating config/mock_hardware.yaml. See Mock Hardware Configuration for the full schema.
When reporting issues with dev builds, include:
- Build version — The commit SHA visible in the web UI footer or container logs
- Steps to reproduce — What you did before the issue occurred
- Expected vs actual behavior — What should happen vs what did happen
-
Logs — Set
LOG_LEVEL=debugand include relevant log output - Configuration — Your Docker Compose or run command (redact sensitive info)
Report issues: GitHub Issues
Dev builds are published on every push to the dev branch. To get the latest:
docker pull ghcr.io/chrisuthe/multiroom-audio:dev
docker compose down && docker compose up -dTo build from source instead of pulling the dev image:
git clone https://github.com/chrisuthe/Multi-SendSpin-Player-Container.git
cd Multi-SendSpin-Player-Container
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --buildSee Code Structure for development documentation.
- Getting Started — Stable build setup guide
- 12V Triggers — Relay board configuration
- Mock Hardware — Custom mock device configuration
- What's New in 5.0 — Features in development
Getting Started
Installation
Configuration
Development
Links