practice-ai-backend / Dockerfile
vadimser's picture
Upload 4 files
5e9fd8b verified
# Используем легкий Python 3.10
FROM python:3.10-slim
# Рабочая директория
WORKDIR /app
# Создаем кэш директорию для моделей, чтобы они не скачивались каждый раз (если подключить persistent storage)
# Или просто разрешаем запись, так как трансформеры захотят скачать модели
RUN mkdir -p /app/ml_cache && chmod 777 /app/ml_cache
ENV TRANSFORMERS_CACHE=/app/ml_cache
# Копируем зависимости
COPY requirements.txt .
# Устанавливаем зависимости
# --no-cache-dir уменьшает размер образа
RUN pip install --no-cache-dir -r requirements.txt
# Копируем код приложения
COPY . .
# Скачиваем NLTK данные при сборке (чтобы не качать в рантайме)
RUN python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"
# Открываем порт 7860 (стандарт для Hugging Face)
EXPOSE 7860
# Запускаем приложение
# host 0.0.0.0 обязателен для Docker
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "7860"]