- 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)
29 lines
725 B
Caddyfile
29 lines
725 B
Caddyfile
# 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
|
|
}
|
|
}
|