caarleexx commited on
Commit
bf07bf9
·
verified ·
1 Parent(s): b837a52

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +9 -21
Dockerfile CHANGED
@@ -1,35 +1,23 @@
1
- FROM python:3.9-slim
 
2
 
3
- # Instalar apenas o mínimo necessário para rodar playwright install-deps
4
- RUN apt-get update && apt-get install -y \
5
- curl \
6
- gnupg \
7
- ca-certificates \
8
- && rm -rf /var/lib/apt/lists/*
9
-
10
- # Instalar playwright via pip (como root)
11
- RUN pip install --no-cache-dir playwright==1.40.0
12
-
13
- # Agora sim, executar install-deps como root (ele baixa tudo que precisa)
14
- RUN python -m playwright install-deps
15
-
16
- # Criar usuário não-root
17
  RUN useradd -m -u 1000 user
18
 
19
- # Trocar para usuário não-root
20
  USER user
21
  WORKDIR /home/user/app
22
 
23
- # Instalar navegadores (agora como user)
24
- RUN python -m playwright install chromium
25
-
26
- # Copiar e instalar dependências Python do projeto
27
  COPY --chown=user requirements.txt .
28
  RUN pip install --no-cache-dir --upgrade pip
29
  RUN pip install --no-cache-dir -r requirements.txt
30
 
31
- # Copiar código da aplicação
32
  COPY --chown=user . .
33
 
 
34
  EXPOSE 7860
 
 
35
  CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--timeout", "120", "app:app"]
 
1
+ # Usa a imagem oficial do Playwright com Python 3.9
2
+ FROM mcr.microsoft.com/playwright:python-3.9-1.40.0
3
 
4
+ # Criar usuário não-root (a imagem já tem um usuário 'pwuser', mas vamos criar o nosso com UID 1000 para compatibilidade com HF)
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  RUN useradd -m -u 1000 user
6
 
7
+ # Trocar para o novo usuário
8
  USER user
9
  WORKDIR /home/user/app
10
 
11
+ # Copiar requirements.txt e instalar dependências Python (sem precisar reinstalar playwright)
 
 
 
12
  COPY --chown=user requirements.txt .
13
  RUN pip install --no-cache-dir --upgrade pip
14
  RUN pip install --no-cache-dir -r requirements.txt
15
 
16
+ # Copiar o código da aplicação
17
  COPY --chown=user . .
18
 
19
+ # A imagem base já expõe a porta 7860? Vamos garantir.
20
  EXPOSE 7860
21
+
22
+ # Comando de inicialização
23
  CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--timeout", "120", "app:app"]