feat(infra): 이식 가능한 Docker 배포 구성
- docker-compose.yml: web/api/db(pgvector)/rag/proxy 한 방 기동 - 엔진 어댑터 분리: ENGINE_URL/ENGINE_MODE로 로컬 claude -p ↔ API 전환(코드 무수정 이전) - Caddy: 자동 TLS + SSE flush/WSS 무버퍼(실시간 음성) - DEPLOYMENT.md: 이식/엔진분리/스케일업/외부노출 가이드 - 페이지 레이아웃 시안 6종(login/learner-home/session-review/professor/admin/settings)
This commit is contained in:
parent
709baadd01
commit
204726f707
11 changed files with 272 additions and 0 deletions
29
infra/Caddyfile
Normal file
29
infra/Caddyfile
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Vignette 리버스프록시
|
||||
# 로컬: http://localhost:8080
|
||||
# 외부: 도메인 한 줄 바꾸면 Caddy가 Let's Encrypt 자동 TLS
|
||||
{
|
||||
# 외부노출 시 이메일만 채우면 자동 HTTPS. 로컬은 무시됨.
|
||||
email {$ACME_EMAIL:admin@example.com}
|
||||
}
|
||||
|
||||
{$SITE_ADDRESS::80} {
|
||||
# 음성 WSS — 버퍼링 끄고 그대로 흘려보냄(상담 실시간성)
|
||||
@ws path /api/voice/ws*
|
||||
reverse_proxy @ws api:8000
|
||||
|
||||
# SSE(실시간 자막/피드백 스트림) — flush_interval -1 로 즉시 전달(버퍼링 충돌 방지)
|
||||
@sse path /api/*/stream*
|
||||
reverse_proxy @sse api:8000 {
|
||||
flush_interval -1
|
||||
}
|
||||
|
||||
# 일반 API
|
||||
handle_path /api/* {
|
||||
reverse_proxy api:8000
|
||||
}
|
||||
|
||||
# 프론트(SPA)
|
||||
handle {
|
||||
reverse_proxy web:80
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue