multija commited on
Commit
c543b5e
·
verified ·
1 Parent(s): 2e87af2

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -23
Dockerfile CHANGED
@@ -1,39 +1,33 @@
1
  FROM python:3.10-slim
2
 
3
  ENV PYTHONUNBUFFERED=1
 
4
 
5
- # instalar dependências do sistema
6
  RUN apt-get update && apt-get install -y --no-install-recommends \
7
- git \
8
- wget \
9
- ffmpeg \
10
- build-essential \
11
- libsndfile1 \
12
- libsndfile1-dev \
13
- ca-certificates \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
- WORKDIR /app
17
-
18
- # atualizar pip
19
  RUN python -m pip install --upgrade pip setuptools wheel
20
 
21
- # instalar pacotes Python essenciais
22
- RUN pip install --no-cache-dir \
23
- fastapi uvicorn[standard] requests soundfile numpy
24
 
25
- # instalar PyTorch (CPU) - troca se quiser versão com CUDA
26
- RUN pip install --no-cache-dir --index-url https://download.pytorch.org/whl/cpu torch
 
27
 
28
- # clonar F5-TTS (código fonte necessário para usar inference)
29
- RUN git clone https://github.com/SWivid/F5-TTS.git /F5-TTS
 
30
 
31
- # instalar pacote F5-TTS localmente (adiciona src ao site-packages)
32
- RUN pip install --no-cache-dir /F5-TTS
33
-
34
- # copiar app para container
35
  COPY app.py /app/app.py
36
 
37
- EXPOSE 8000
 
38
 
 
39
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]
 
1
  FROM python:3.10-slim
2
 
3
  ENV PYTHONUNBUFFERED=1
4
+ WORKDIR /app
5
 
6
+ # Instala requisitos do sistema
7
  RUN apt-get update && apt-get install -y --no-install-recommends \
8
+ git wget ffmpeg build-essential ca-certificates libsndfile1 \
 
 
 
 
 
 
9
  && rm -rf /var/lib/apt/lists/*
10
 
11
+ # Atualiza pip
 
 
12
  RUN python -m pip install --upgrade pip setuptools wheel
13
 
14
+ # Cria os diretórios de runtime e garante permissão (fixa no build)
15
+ RUN mkdir -p /app/model /app/config /app/vocab /app/output \
16
+ && chmod -R a+rwx /app/model /app/config /app/vocab /app/output
17
 
18
+ # (opcional) criar usuário não-root e tornar /app propriedade dele
19
+ RUN useradd -m -u 1000 appuser || true \
20
+ && chown -R appuser:appuser /app
21
 
22
+ # Instala libs Python necessárias (ajuste sua lista se necessário)
23
+ COPY requirements.txt /app/requirements.txt
24
+ RUN pip install --no-cache-dir -r /app/requirements.txt
25
 
26
+ # Copia aplicação
 
 
 
27
  COPY app.py /app/app.py
28
 
29
+ # muda para usuário não-root (melhor para produção)
30
+ USER appuser
31
 
32
+ EXPOSE 8000
33
  CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]