FROM python:3.11-slim # Устанавливаем зависимости для yt-dlp RUN apt-get update && apt-get install -y \ ffmpeg \ wget \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Копируем requirements и устанавливаем зависимости COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Копируем код приложения COPY . . # Создаем директорию для загрузок RUN mkdir -p downloads ENV PYTHONUNBUFFERED=1 # Gunicorn: несколько worker-ов и конечные таймауты, чтобы один зависший # клиент или запрос не блокировал весь VK downloader. # Порт берется из переменной окружения PORT (по умолчанию 5000). CMD sh -c "gunicorn --workers=${GUNICORN_WORKERS:-2} --threads=${GUNICORN_THREADS:-4} --timeout=${GUNICORN_TIMEOUT:-360} --graceful-timeout=${GUNICORN_GRACEFUL_TIMEOUT:-30} --keep-alive=${GUNICORN_KEEP_ALIVE:-5} --bind=${BIND_HOST:-0.0.0.0}:${PORT:-5000} app:app"