- 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>
20 lines
705 B
Docker
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"]
|