# EVS Control Portal Web UI to publish EVS MQTT command payloads without manually crafting JSON. ## Features - Device picker (`evs//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://: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" ```