# Используем официальный образ Node.js 18. # ESM-модули и fetch API стабильны в этой версии. FROM node:18-slim # Устанавливаем рабочую директорию внутри контейнера WORKDIR /usr/src/app # Копируем файлы package.json и package-lock.json COPY package*.json ./ # Устанавливаем зависимости проекта # --only=production гарантирует, что установятся только производственные зависимости RUN npm install --only=production # Копируем остальной код приложения в рабочую директорию COPY . . # Создаем директорию для временных файлов RUN mkdir -p /tmp/huggingface-runner # Открываем порт, на котором будет работать приложение (стандартный для Spaces - 7860) EXPOSE 7860 # Указываем команду для запуска приложения при старте контейнера # Используем массив для корректной обработки сигналов CMD [ "node", "index.js" ]