- 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)
16 lines
568 B
Docker
16 lines
568 B
Docker
# 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
|