feat: voice-service von lehrer nach core verschoben, Pipeline erweitert (voice, BQAS, embedding, night-scheduler)

This commit is contained in:
Benjamin Boenisch
2026-02-15 13:26:06 +01:00
parent a7e4500ea6
commit 1089c73b46
59 changed files with 12921 additions and 20 deletions

59
voice-service/Dockerfile Normal file
View File

@@ -0,0 +1,59 @@
# Voice Service - PersonaPlex + TaskOrchestrator Integration
# DSGVO-konform, keine Audio-Persistenz
FROM python:3.11-slim-bookworm
# Build arguments
ARG TARGETARCH
# Install system dependencies for audio processing
RUN apt-get update && apt-get install -y --no-install-recommends \
# Build essentials
build-essential \
gcc \
g++ \
# Audio processing
libsndfile1 \
libportaudio2 \
ffmpeg \
# Network tools
curl \
wget \
# Clean up
&& rm -rf /var/lib/apt/lists/*
# Create app directory
WORKDIR /app
# Create non-root user for security
RUN groupadd -r voiceservice && useradd -r -g voiceservice voiceservice
# Create data directories (sessions are transient, not persisted)
RUN mkdir -p /app/data/sessions /app/personas \
&& chown -R voiceservice:voiceservice /app
# Copy requirements first for better caching
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY --chown=voiceservice:voiceservice . .
# Create __init__.py files for Python packages
RUN touch /app/api/__init__.py \
&& touch /app/services/__init__.py \
&& touch /app/models/__init__.py
# Switch to non-root user
USER voiceservice
# Expose port
EXPOSE 8091
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
CMD curl -f http://localhost:8091/health || exit 1
# Start application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8091"]