org-network / Dockerfile
5minbetter's picture
deploy: update release version without lfs
665190d
Raw
History Blame Contribute Delete
1.19 kB
# ==========================================
# Stage 1: Next.js 정적 리소스 빌드
# ==========================================
FROM node:20-alpine AS frontend-builder
WORKDIR /app/frontend
# 의존성 복사 및 설치
COPY frontend/package*.json ./
RUN npm ci
# 소스코드 복사 및 정적 빌드 실행 (out/ 폴더 생성)
COPY frontend/ ./
RUN npm run build
# ==========================================
# Stage 2: FastAPI 실행 및 통합 서빙
# ==========================================
FROM python:3.11-slim
WORKDIR /app
# 시스템 의존성 설치 (필요시)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# 파이썬 의존성 복사 및 설치
COPY backend/requirements.txt ./backend/
RUN pip install --no-cache-dir -r backend/requirements.txt
# 소스코드 복사
COPY backend/ ./backend/
# 빌드된 프론트엔드 리소스 가져오기
COPY --from=frontend-builder /app/frontend/out ./frontend/out
# Hugging Face Spaces 기본 포트는 7860입니다.
EXPOSE 7860
# FastAPI 및 Uvicorn 실행
CMD ["uvicorn", "backend.app.main:app", "--host", "0.0.0.0", "--port", "7860"]