o2o-negosium-original/frontend/Dockerfile
민헌 344cf646ea feat(docker): negosium 프론트 컨테이너화(:3300) + backend CORS 3300 허용
- frontend/Dockerfile: 프로덕션 빌드(npm run build) 후 vite preview 정적 서빙, 포트 3300.
  API URL(VITE_API_BASE_URL=http://localhost:9300)은 빌드 타임에 .env.prod.local 로 주입.
- docker-compose.yml: negosium-front 서비스 추가(빌드 이미지, live volume 없음) + 헤더에 프론트 URL.
- backend CORS(config.local.toml.example)에 http://localhost:3300 / 127.0.0.1:3300 추가.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 15:50:04 +09:00

20 lines
705 B
Docker

FROM node:20-alpine
WORKDIR /app
# 의존성 (레이어 캐시)
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
# 프로덕션 빌드. API URL 은 빌드 타임에 번들로 인라인되므로 여기서 주입한다(로컬 도커: backend=localhost:9300).
# npm run build 는 --mode prod → .env.prod 를 읽으므로, 최우선 파일 .env.prod.local 로 덮어쓴다.
ARG VITE_API_BASE_URL=http://localhost:9300
RUN echo "VITE_API_BASE_URL=$VITE_API_BASE_URL" > .env.prod.local && npm run build
EXPOSE 3300
# 빌드 산출물(dist)을 정적 서빙. SPA 라우팅(history fallback)은 vite preview 가 처리.
CMD ["npm", "run", "preview", "--", "--host", "0.0.0.0", "--port", "3300"]