SeedVR2 / app.py
aducsdr's picture
Update app.py
42f4c11 verified
raw
history blame
2.31 kB
# Dockerfile (VERSÃO FINAL CORRIGIDA)
# 1. COMEÇAR COM A BASE CORRETA: Uma imagem oficial da NVIDIA com CUDA 12.1.1 e as ferramentas de desenvolvimento (devel)
FROM nvidia/cuda:12.1.1-devel-ubuntu22.04
# 2. INSTALAR DEPENDÊNCIAS DO SISTEMA
# Precisamos de wget para baixar o miniconda e git para clonar o repositório.
# DEBIAN_FRONTEND=noninteractive evita que a instalação peça inputs.
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
git \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 3. INSTALAR O MINICONDA SOBRE A IMAGEM NVIDIA
# Baixamos o instalador, executamos em modo silencioso (-b) no diretório /opt/conda (-p)
# e depois limpamos o instalador.
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
rm ~/miniconda.sh
# 4. ADICIONAR CONDA AO PATH DO SISTEMA
# Isso garante que os comandos 'conda' e 'pip' usarão a instalação que acabamos de fazer.
ENV PATH /opt/conda/bin:$PATH
# 5. CRIAR O AMBIENTE CONDA A PARTIR DO NOSSO ARQUIVO
# Copiamos o environment.yml e deixamos o conda instalar as dependências principais.
COPY environment.yml .
RUN conda env create -f environment.yml
# 6. INSTALAR FLASH_ATTN DENTRO DO AMBIENTE
# Agora este comando vai funcionar, pois nvcc e CUDA_HOME estão presentes na imagem base.
# 'conda run -n seedvr ...' executa o comando dentro do nosso ambiente específico.
RUN conda run -n seedvr pip install "flash_attn==2.5.9.post1" --no-build-isolation
# 7. DEFINIR O AMBIENTE CONDA COMO PADRÃO PARA O RESTO DO DOCKERFILE
# Esta é a linha corrigida, em formato JSON válido e completo.
SHELL ["conda", "run", "-n", "seedvr", "/bin/bash", "-c"]
# 8. PREPARAR O APLICATIVO
WORKDIR /app
RUN git clone https://github.com/bytedance-seed/SeedVR.git
WORKDIR /app/SeedVR
# 9. BAIXAR O MODELO DURANTE A CONSTRUÇÃO
# O comando huggingface-cli já está disponível no ambiente conda.
RUN huggingface-cli download ByteDance-Seed/SeedVR2-3B --local-dir ckpts --local-dir-use-symlinks False
# 10. COPIAR O CÓDIGO DO NOSSO APP
COPY app.py .
# 11. DEFINIR O COMANDO DE EXECUÇÃO
# O comando 'python' já será o do ambiente 'seedvr'.
CMD ["python", "app.py"]