Dockerfile.alternative (1634B)
1 FROM python:3.11-slim 2 3 ENV DEBIAN_FRONTEND=noninteractive 4 ENV PYTHONUNBUFFERED=1 5 6 # Instalar dependências básicas primeiro 7 RUN apt-get update && \ 8 apt-get install -y --no-install-recommends \ 9 ca-certificates \ 10 curl \ 11 git \ 12 && rm -rf /var/lib/apt/lists/* 13 14 # Instalar ffmpeg de forma separada para melhor debug 15 RUN apt-get update && \ 16 apt-get install -y --no-install-recommends \ 17 ffmpeg \ 18 ffprobe \ 19 && rm -rf /var/lib/apt/lists/* || \ 20 (echo "Aviso: Falha ao instalar ffmpeg via apt, tentando alternativa..." && \ 21 apt-get update && \ 22 apt-get install -y --no-install-recommends software-properties-common && \ 23 apt-get update && \ 24 apt-get install -y --no-install-recommends ffmpeg ffprobe && \ 25 rm -rf /var/lib/apt/lists/*) 26 27 # Verificar instalação 28 RUN which ffmpeg && ffmpeg -version || echo "AVISO: ffmpeg pode não estar disponível" 29 30 # Instalar yt-dlp 31 RUN curl -L --fail --retry 3 --retry-delay 5 \ 32 https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp \ 33 -o /usr/local/bin/yt-dlp && \ 34 chmod a+rx /usr/local/bin/yt-dlp && \ 35 yt-dlp --version 36 37 WORKDIR /app 38 39 COPY requirements.txt . 40 RUN pip install --no-cache-dir --upgrade pip && \ 41 pip install --no-cache-dir -r requirements.txt 42 43 COPY . . 44 45 RUN mkdir -p /app/data /app/cache /app/uploads /app/outputs 46 47 EXPOSE 8473 48 49 HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ 50 CMD python -c "import requests; requests.get('http://localhost:8473/health', timeout=5)" || exit 1 51 52 CMD ["uvicorn", "lazier.api.main:app", "--host", "0.0.0.0", "--port", "8473"]