FastMCPToolGenerator / Dockerfile
enotkrutoy's picture
Upload 19 files
a992a28 verified

# Этап 1: Сборка React-фронтенда
FROM node:18-slim AS build
WORKDIR /app
# Копируем package.json и устанавливаем npm зависимости
COPY package.json package-lock.json ./
RUN npm install
# Копируем остальной код фронтенда
COPY . .
# Собираем production build (создает папку 'dist')
RUN npm run build
# Этап 2: Настройка Python-сервера (FastAPI)
FROM python:3.10-slim
WORKDIR /app
# Установка переменных окружения
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
# Копируем Python-зависимости и устанавливаем их
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Копируем код бэкенда (FastAPI)
COPY ./backend ./backend
# Копируем собранный фронтенд из Этапа 1
COPY --from=build /app/dist ./dist
# Порт 7860 - стандартный для HF Spaces
EXPOSE 7860
ENV PORT=7860
# Команда для запуска Uvicorn (FastAPI)
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "7860"]