fix: Docker 실행 경로에서 화자 분리가 동작하도록 수정

Docker로 띄우면 화자 분리가 전혀 되지 않았다. 세 가지 문제가 겹쳐 있었다.

1. 베이스 이미지가 Alpine(musl)인데 sherpa-onnx 사전 빌드 바이너리는 glibc에
   링크되어 있어 ld-linux-aarch64.so.1 을 찾지 못했다. node:22-slim 으로 교체.
2. Next 파일 트레이싱이 sherpa-onnx.node 만 복사하고 동반 공유 라이브러리
   (libonnxruntime, libsherpa-onnx-c-api 등 약 33MB)를 놓쳤다.
   outputFileTracingIncludes 로 플랫폼 패키지를 통째로 포함시킨다.
3. models/ 가 이미지에도 볼륨에도 없어 컨테이너 안에서는 항상 미설치 상태였다.
   호스트의 models/ 를 읽기 전용으로 마운트한다.

추가로 app 컨테이너에 LLM_* 환경변수를 전달한다. GEMINI_API_KEY만 넘기고
있어서 OpenAI 호환 프로바이더를 환경변수로 설정할 수 없었다.

컨테이너 안에서 실제 오디오로 화자 분리가 도는 것을 확인했다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
csbaeandClaude Opus 5 committed 2026-09-08 14:31:45 +09:00
1 parent 73d5790dcc
commit 874cf11a7a
4 files changed
+26 -3

No files matched your search

+5
View File
@@ -14,6 +14,11 @@ const nextConfig: NextConfig = {
output: "standalone",
// sherpa-onnx-node는 네이티브 애드온이라 번들링하면 안 된다.
serverExternalPackages: ["sherpa-onnx-node"],
// 트레이싱은 .node 파일만 잡고 동반 공유 라이브러리(.so/.dylib)를 놓친다.
// 플랫폼 패키지를 통째로 포함시켜야 standalone 빌드에서 로드된다.
outputFileTracingIncludes: {
"/api/diarize": ["./node_modules/sherpa-onnx-*/**"],
},
async headers() {
return [
{