NUDR / Dockerfile
magicboris's picture
Update Dockerfile
721e0d6 verified
raw
history blame contribute delete
954 Bytes
# Этап 1: Подготовка Backend
FROM python:3.10-slim AS backend
WORKDIR /app
COPY backend/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY backend/ .
# Этап 2: Сборка Frontend
FROM node:18-alpine AS frontend
WORKDIR /app/frontend
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ .
RUN npm run build
# Этап 3: Финальный образ
FROM python:3.10-slim
WORKDIR /app
# Копируем Python и пакеты
COPY --from=backend /usr/local /usr/local
# Копируем весь код Backend
COPY --from=backend /app/ /app/
# Копируем собранный статический Frontend
COPY --from=frontend /app/frontend/out /app/static_frontend
# Настраиваем окружение
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app
# Запускаем сервер
EXPOSE 7860
CMD ["python", "-m", "uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "7860"]