System Requirements#

Hardware#

  • CPU: x86_64. Intel Core Ultra (Meteor Lake) or newer is recommended. Older Intel Core / Xeon processors will run the stack but may be slower on OpenVINO inference paths.

  • Memory: 32 GB RAM minimum. 64 GB recommended when running the LLM, reranker, ASR, and TTS together with a warm cache.

  • Disk: 60 GB free SSD space recommended for model assets, the Hugging Face cache, vector storage, generated audio, and per-session storage. NVMe is preferred for faster first-run model export.

  • GPU (optional): Intel integrated GPU (Meteor Lake or newer iGPU) or a supported discrete GPU exposed via /dev/dri. The RAG LLM and reranker benefit most from GPU; audio-analyzer and text-to-speech can also be pinned to GPU for higher throughput.

  • Microphone: Not required on the host — audio is captured by the browser via the Web Audio API and uploaded to kiosk-core.

Operating System#

  • Ubuntu 22.04 LTS (validated) or a compatible Linux distribution with a recent kernel.

  • Docker Engine and Docker Compose v2 for container deployment.

  • For GPU acceleration on Linux: Intel/OpenVINO host GPU runtime installed on the host:

    sudo apt-get install -y intel-opencl-icd intel-level-zero-gpu level-zero
    sudo usermod -aG render $USER
    

    Verify with ls /dev/dri/renderD*. If the packages are not found, follow the Intel GPU driver guide.

Host Packages#

The pull flow needs only Docker. Building from source and running make benchmark additionally need:

sudo apt-get update
sudo apt-get install -y git git-lfs python3-venv ffmpeg

Package

Needed for

Symptom if missing

git, git-lfs

Cloning this repo and the pinned upstream sources

Submodule or model assets fail to check out

python3-venv

make benchmark builds a virtualenv for the benchmark orchestrator

ensurepip is not available

ffmpeg

Transcoding benchmark/replay audio to 16 kHz mono PCM

Benchmark audio fixtures fail to load

Results Directory Permissions#

kiosk-core runs in-container as uid 1000 and writes benchmark output to the bind-mounted results/ directory. If your host user is not uid 1000, the container cannot write there, the benchmark reports zero transactions even though every turn succeeded, and nothing is logged about it. Check and fix with:

id -u                      # if this is not 1000
mkdir -p results && chmod 777 results

Network#

  • Outbound internet access on first run to download model assets from Hugging Face, unless models are pre-staged under the per-service models/ and .cache/ directories.

  • Inbound access on the host for the published TCP ports: 7860, 8010, 8011, 8012, 8020.

Browser#

  • Any modern Chromium-based browser or Firefox with permission to use the microphone for http://127.0.0.1:7860.

  • The browser must be able to reach kiosk-core (http://127.0.0.1:8012) from the same machine, or a routable address if kiosk-ui is exposed beyond localhost.