60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
# EVS Control Portal
|
|
|
|
Web UI to publish EVS MQTT command payloads without manually crafting JSON.
|
|
|
|
## Features
|
|
|
|
- Device picker (`evs/<device_id>/command`)
|
|
- Buttons/forms for:
|
|
- `status`
|
|
- `mode` (`idle` / `stream`)
|
|
- `io_mode` (`mic` / `spk`)
|
|
- `udp_stream` start/stop
|
|
- `mic_gain` set/up/down
|
|
- Raw JSON publish for advanced commands
|
|
|
|
## Environment
|
|
|
|
- `MQTT_HOST` (default `127.0.0.1`)
|
|
- `MQTT_PORT` (default `1883`)
|
|
- `MQTT_USER` (optional)
|
|
- `MQTT_PASSWORD` (optional)
|
|
- `MQTT_BASE_TOPIC` (default `evs`)
|
|
- `PORTAL_BIND_HOST` (default `0.0.0.0`)
|
|
- `PORTAL_BIND_PORT` (default `8088`)
|
|
|
|
## Build + Run
|
|
|
|
```bash
|
|
docker build -f control-portal/Dockerfile -t evs-control-portal:latest control-portal
|
|
docker run --rm -p 8088:8088 \
|
|
-e MQTT_HOST=10.100.3.247 \
|
|
-e MQTT_PORT=1883 \
|
|
-e MQTT_BASE_TOPIC=evs \
|
|
evs-control-portal:latest
|
|
```
|
|
|
|
Then open:
|
|
|
|
`http://<host>:8088`
|
|
|
|
## Portainer Service Example
|
|
|
|
```yaml
|
|
services:
|
|
evs-control-portal:
|
|
image: git.khnm-zimmerling.de/kai/evs-control-portal:latest
|
|
container_name: evs-control-portal
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8088:8088"
|
|
environment:
|
|
MQTT_HOST: "10.100.3.247"
|
|
MQTT_PORT: "1883"
|
|
MQTT_USER: ""
|
|
MQTT_PASSWORD: ""
|
|
MQTT_BASE_TOPIC: "evs"
|
|
PORTAL_BIND_HOST: "0.0.0.0"
|
|
PORTAL_BIND_PORT: "8088"
|
|
```
|