fix(meeting-intelligence): fix Jibri XMPP connection and transcriber build
- Add wget to builder stage for model download - Add curl and build-essential to production stage for health check and webrtcvad - Remove unused whisper_models volume (model baked into image) - Fix WHISPER_MODEL env var to use full path - Update Jibri to use Docker internal DNS names (meet.jitsi) - Connect Jibri to jeffsi-meet_meet.jitsi network for Prosody access Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
4cb219db0f
commit
9f9bb309bb
|
|
@ -61,13 +61,12 @@ services:
|
||||||
environment:
|
environment:
|
||||||
REDIS_URL: redis://redis:6379
|
REDIS_URL: redis://redis:6379
|
||||||
POSTGRES_URL: postgresql://meeting_intelligence:${POSTGRES_PASSWORD:-changeme}@postgres:5432/meeting_intelligence
|
POSTGRES_URL: postgresql://meeting_intelligence:${POSTGRES_PASSWORD:-changeme}@postgres:5432/meeting_intelligence
|
||||||
WHISPER_MODEL: small
|
WHISPER_MODEL: /models/ggml-small.bin
|
||||||
WHISPER_THREADS: 8
|
WHISPER_THREADS: 8
|
||||||
NUM_WORKERS: 4
|
NUM_WORKERS: 4
|
||||||
volumes:
|
volumes:
|
||||||
- recordings:/recordings:ro
|
- recordings:/recordings:ro
|
||||||
- audio_processed:/audio
|
- audio_processed:/audio
|
||||||
- whisper_models:/models
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
@ -122,13 +121,14 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: true
|
privileged: true
|
||||||
environment:
|
environment:
|
||||||
# XMPP Connection
|
# XMPP Connection - uses internal Docker DNS names
|
||||||
XMPP_SERVER: ${XMPP_SERVER:-meet.jeffemmett.com}
|
XMPP_SERVER: jeffsi-meet-prosody-1
|
||||||
XMPP_DOMAIN: ${XMPP_DOMAIN:-meet.jeffemmett.com}
|
XMPP_DOMAIN: meet.jitsi
|
||||||
XMPP_AUTH_DOMAIN: auth.${XMPP_DOMAIN:-meet.jeffemmett.com}
|
XMPP_AUTH_DOMAIN: auth.meet.jitsi
|
||||||
XMPP_INTERNAL_MUC_DOMAIN: internal.auth.${XMPP_DOMAIN:-meet.jeffemmett.com}
|
XMPP_INTERNAL_MUC_DOMAIN: internal-muc.meet.jitsi
|
||||||
XMPP_RECORDER_DOMAIN: recorder.${XMPP_DOMAIN:-meet.jeffemmett.com}
|
XMPP_RECORDER_DOMAIN: hidden.meet.jitsi
|
||||||
XMPP_MUC_DOMAIN: muc.${XMPP_DOMAIN:-meet.jeffemmett.com}
|
XMPP_MUC_DOMAIN: muc.meet.jitsi
|
||||||
|
XMPP_TRUST_ALL_CERTS: "true"
|
||||||
|
|
||||||
# Jibri Settings
|
# Jibri Settings
|
||||||
JIBRI_BREWERY_MUC: JibriBrewery
|
JIBRI_BREWERY_MUC: JibriBrewery
|
||||||
|
|
@ -145,7 +145,7 @@ services:
|
||||||
CHROMIUM_FLAGS: --use-fake-ui-for-media-stream,--start-maximized,--kiosk,--enabled,--disable-infobars,--autoplay-policy=no-user-gesture-required
|
CHROMIUM_FLAGS: --use-fake-ui-for-media-stream,--start-maximized,--kiosk,--enabled,--disable-infobars,--autoplay-policy=no-user-gesture-required
|
||||||
|
|
||||||
# Public URL
|
# Public URL
|
||||||
PUBLIC_URL: https://${XMPP_DOMAIN:-meet.jeffemmett.com}
|
PUBLIC_URL: https://meet.jeffemmett.com
|
||||||
|
|
||||||
# Timezone
|
# Timezone
|
||||||
TZ: UTC
|
TZ: UTC
|
||||||
|
|
@ -161,6 +161,7 @@ services:
|
||||||
shm_size: 2gb
|
shm_size: 2gb
|
||||||
networks:
|
networks:
|
||||||
- meeting-intelligence
|
- meeting-intelligence
|
||||||
|
- jeffsi-meet
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
postgres_data:
|
postgres_data:
|
||||||
|
|
@ -177,10 +178,12 @@ volumes:
|
||||||
type: none
|
type: none
|
||||||
o: bind
|
o: bind
|
||||||
device: /opt/meetings/audio
|
device: /opt/meetings/audio
|
||||||
whisper_models:
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
meeting-intelligence:
|
meeting-intelligence:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
traefik-public:
|
traefik-public:
|
||||||
external: true
|
external: true
|
||||||
|
jeffsi-meet:
|
||||||
|
external: true
|
||||||
|
name: jeffsi-meet_meet.jitsi
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
cmake \
|
cmake \
|
||||||
git \
|
git \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
|
wget \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Build whisper.cpp
|
# Build whisper.cpp
|
||||||
|
|
@ -30,10 +31,12 @@ RUN cd /build/whisper.cpp && \
|
||||||
# Production image
|
# Production image
|
||||||
FROM python:3.11-slim
|
FROM python:3.11-slim
|
||||||
|
|
||||||
# Install runtime dependencies
|
# Install runtime dependencies and build tools (for compiling Python packages)
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
libsndfile1 \
|
libsndfile1 \
|
||||||
|
curl \
|
||||||
|
build-essential \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Copy whisper binary and models
|
# Copy whisper binary and models
|
||||||
|
|
@ -47,6 +50,9 @@ WORKDIR /app
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
# Remove build tools to reduce image size
|
||||||
|
RUN apt-get purge -y build-essential && apt-get autoremove -y
|
||||||
|
|
||||||
# Copy application code
|
# Copy application code
|
||||||
COPY app/ ./app/
|
COPY app/ ./app/
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue