File size: 1,436 Bytes
9518403
02ba760
267743b
31a6753
 
 
 
 
 
 
 
 
 
267743b
31a6753
 
 
 
624e4a0
31a6753
 
d2a4e87
624e4a0
 
 
 
02be4ba
267743b
624e4a0
823c776
 
d2a4e87
767ab4c
5485d5e
9518403
3fe558a
 
33d69d8
3fe558a
02ba760
624e4a0
02ba760
9518403
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Dockerfile (VERSÃO FINAL PARA API FASTAPI)

# 1. COMEÇAR COM A BASE CORRETA
FROM nvidia/cuda:12.1.1-devel-ubuntu22.04

# 2. INSTALAR DEPENDÊNCIAS DO SISTEMA
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
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
ENV PATH /opt/conda/bin:$PATH

# 5. COPIAR TODOS OS ARQUIVOS DO REPOSITÓRIO
COPY . /app
WORKDIR /app

# 6. ACEITAR OS TERMOS DE SERVIÇO
RUN yes | conda tos accept

# 7. ATUALIZAR O CONDA
RUN conda update -n base -c defaults conda

# 8. CRIAR O AMBIENTE CONDA
RUN conda env create -f environment.yml && conda clean --all -y

# 9. INSTALAR FLASH_ATTN SEM COMPILAR CUDA (PARA EVITAR ERRO DE MEMÓRIA)
RUN conda run -n seedvr env FLASH_ATTENTION_SKIP_CUDA_BUILD=TRUE \
    pip install "flash_attn==2.5.9.post1" --no-build-isolation --no-cache-dir

# 10. BAIXAR O MODELO
WORKDIR /app/SeedVR
RUN huggingface-cli download ByteDance-Seed/SeedVR2-3B --local-dir ckpts --local-dir-use-symlinks False

# 11. DEFINIR O COMANDO FINAL PARA INICIAR A API
WORKDIR /app
CMD ["conda", "run", "-n", "seedvr", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]