From 18bbc75216b52e0c32440c5eb5a0acd3d7776253 Mon Sep 17 00:00:00 2001 From: Shane Date: Sat, 22 Aug 2026 08:15:57 -0400 Subject: [PATCH] fix: livekit.yaml config (remove invalid bind_addr field) --- Dockerfile | 40 +++++++++++++++++----------------------- livekit.yaml | 6 ------ 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/Dockerfile b/Dockerfile index cd71c19..ac78fc4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* COPY agent/pyproject.toml ./agent/ -RUN mkdir -p /app/agent && cd /app/agent && \ +RUN cd /app/agent && \ uv venv .venv && \ uv pip install --python .venv/bin/python \ "livekit-agents~=1.7" \ @@ -22,20 +22,23 @@ RUN mkdir -p /app/agent && cd /app/agent && \ "livekit-plugins-openai~=1.7" \ "python-dotenv" -# ── Stage 2: Runtime ─────────────────────────────────────────────────────── -FROM debian:bookworm-slim AS runtime +# ── Stage 2: Runtime (use same base for Python compat) ───────────────────── +FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS runtime + +ENV PYTHONUNBUFFERED=1 # Install LiveKit server binary + supervisord + nginx RUN apt-get update && apt-get install -y --no-install-recommends \ - curl ca-certificates supervisor nginx python3.12 python3.12-venv \ - libasound2t64 libssl3t64 \ + curl ca-certificates supervisor nginx libasound2 \ && rm -rf /var/lib/apt/lists/* # Download LiveKit server (latest stable) -ARG LIVEKIT_VERSION=v1.13.2 -RUN curl -sSL "https://github.com/livekit/livekit/releases/download/${LIVEKIT_VERSION}/livekit_${LIVEKIT_VERSION}_linux_amd64.tar.gz" \ - | tar xz -C /usr/local/bin/ livekit \ - && chmod +x /usr/local/bin/livekit +ARG LIVEKIT_VERSION=v1.13.5 +ARG LIVEKIT_TAG=1.13.5 +RUN curl -sSL "https://github.com/livekit/livekit/releases/download/${LIVEKIT_VERSION}/livekit_${LIVEKIT_TAG}_linux_amd64.tar.gz" \ + | tar xz -C /usr/local/bin/ livekit-server \ + && chmod +x /usr/local/bin/livekit-server \ + && ln -sf /usr/local/bin/livekit-server /usr/local/bin/livekit # Copy Python agent + venv from build stage COPY --from=build /app/agent/.venv /opt/voice-agent/.venv @@ -48,23 +51,14 @@ COPY web/ /var/www/voice/ COPY livekit.yaml /etc/livekit.yaml COPY supervisord.conf /etc/supervisor/conf.d/voice.conf -# Remove default nginx site, use our own -RUN rm -f /etc/nginx/sites-enabled/default && \ - cat > /etc/nginx/sites-available/voice << 'NGINX' -server { - listen 8090; - root /var/www/voice; - index index.html; - - location / { - try_files $uri $uri/ =404; - } -} -NGINX +# Configure nginx to serve the voice UI on port 8090 +RUN rm -f /etc/nginx/sites-enabled/default \ + && printf 'server {\n listen 8090;\n root /var/www/voice;\n index index.html;\n location / {\n try_files $uri $uri/ =404;\n }\n}\n' \ + > /etc/nginx/sites-available/voice \ && ln -sf /etc/nginx/sites-available/voice /etc/nginx/sites-enabled/voice # Create non-root user for agent -RUN useradd -m -s /bin/bash voiceuser +RUN useradd -m -s /bin/bash voiceuser || true EXPOSE 7880 7881 8090 50000-60000/udp diff --git a/livekit.yaml b/livekit.yaml index cdbd6fa..6851ffa 100644 --- a/livekit.yaml +++ b/livekit.yaml @@ -1,16 +1,10 @@ port: 7880 -bind_addr: 0.0.0.0 rtc: tcp_port: 7881 udp_port: 7882 port_range_start: 50000 port_range_end: 60000 -# Leave empty to use host's public IP for TURN (LAN access) -# For LAN-only, this is fine — clients connect directly keys: devkey: devsecret - -redis: - # No Redis — single node, in-memory room state