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
16
apps/web/Dockerfile
Normal file
16
apps/web/Dockerfile
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Vignette Web (React 19 + Vite) — 멀티스테이지(빌드 → 정적 서빙)
|
||||
FROM node:22-alpine AS build
|
||||
WORKDIR /app
|
||||
# node 22 사용(23.x는 일부 빌드 segfault 이슈 회피)
|
||||
COPY package.json pnpm-lock.yaml* ./
|
||||
RUN corepack enable && pnpm install --frozen-lockfile || npm install
|
||||
COPY . .
|
||||
ARG VITE_API_BASE=/api
|
||||
ENV VITE_API_BASE=$VITE_API_BASE
|
||||
RUN pnpm build || npm run build
|
||||
|
||||
# 정적 서빙(작고 이식성 높은 nginx)
|
||||
FROM nginx:1.27-alpine
|
||||
COPY --from=build /app/dist /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
EXPOSE 80
|
||||
Loading…
Add table
Add a link
Reference in a new issue