lazier

personal summarizer
Log | Files | Refs | README

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"]