Initial commit: ASR v2 with multi-venv isolation

- faster-whisper, Qwen3-ASR, gateway 각 컴포넌트별 Python venv 분리
- 기본언어 한국어(ko)
- 처리내역 탭: 목록/상세/원본파일 재생/삭제
- 백엔드별 동적 모델 드랍다운
- /history, /uploads API 추가
- 기존 인스턴스(port 18100) 보존, 신규 port 18101

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
du5t
2026-05-23 00:24:36 +09:00
commit 56e637a300
17 changed files with 2221 additions and 0 deletions

42
Containerfile Normal file
View File

@@ -0,0 +1,42 @@
FROM docker.io/pytorch/pytorch:2.7.0-cuda12.6-cudnn9-runtime
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
WHISPER_CACHE_DIR=/srv/asr/models-cache \
ASR_BASE_DIR=/srv/asr
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
libsndfile1 \
curl \
supervisor \
python3-venv \
&& rm -rf /var/lib/apt/lists/*
COPY envs/ /build/envs/
# gateway venv — 경량, GPU 불필요
RUN python -m venv /opt/venvs/gateway && \
/opt/venvs/gateway/bin/pip install --upgrade pip && \
/opt/venvs/gateway/bin/pip install -r /build/envs/gateway.txt
# faster-whisper venv — CTranslate2가 CUDA 직접 처리
RUN python -m venv /opt/venvs/faster_whisper && \
/opt/venvs/faster_whisper/bin/pip install --upgrade pip && \
/opt/venvs/faster_whisper/bin/pip install -r /build/envs/faster_whisper.txt
# qwen3 venv — base image의 torch/CUDA 상속
RUN python -m venv --system-site-packages /opt/venvs/qwen3 && \
/opt/venvs/qwen3/bin/pip install --upgrade pip && \
/opt/venvs/qwen3/bin/pip install -r /build/envs/qwen3.txt
COPY app/ /app/
RUN chmod +x /app/start.sh
EXPOSE 8000
CMD ["/app/start.sh"]