Batch+realtime transcription API: faster-whisper engine w/ EngineOwner (single GPU owner, OOM downgrade chain, persisted attempted_profiles), hardware-adaptive device manager (T0-T3 VRAM tiers), Redis/in-proc job queue w/ leases + crash recovery, postprocess (glossary/rules/LLM w/ egress guard), privacy-first result store (UUID keys, source deleted after transcribe), retention sweeper, API-key auth (HMAC digests, scopes, job ownership), WebSocket realtime lane (LocalAgreement), CLI (detect/transcribe/bench/serve/key), Docker, benchmark runner. 127 mock-based tests pass; ruff clean. Includes verification checklist and autoplan review notes.
27 lines
831 B
Docker
27 lines
831 B
Docker
# luke_scribe GPU 이미지 — CUDA 12 + cuDNN 9 + faster-whisper
|
|
# 기준: NVIDIA CUDA 12 런타임, cc>=7.0 GPU (T4 이상 권장)
|
|
FROM nvidia/cuda:12.4.1-runtime-ubuntu22.04
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
python3.11 python3-pip python3-venv ffmpeg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
COPY pyproject.toml README.md ./
|
|
COPY src/ ./src/
|
|
|
|
RUN python3.11 -m venv /opt/venv \
|
|
&& . /opt/venv/bin/activate \
|
|
&& pip install --no-cache-dir -e ".[engine,gpu,api]" \
|
|
&& pip install --no-cache-dir "faster-whisper>=1.0.3"
|
|
|
|
ENV PATH="/opt/venv/bin:$PATH" \
|
|
LUKESCRIBE_DEVICE=auto \
|
|
LUKESCRIBE_QUEUE_BACKEND=redis \
|
|
LUKESCRIBE_HOST=0.0.0.0 \
|
|
LUKESCRIBE_PORT=8000 \
|
|
NVIDIA_VISIBLE_DEVICES=all
|
|
|
|
EXPOSE 8000
|
|
CMD ["python", "-m", "luke_scribe.cli", "serve"]
|