Cauanne commited on
Commit
0fa2794
·
verified ·
1 Parent(s): 06ae9bd

Upload 4 files

Browse files
Files changed (2) hide show
  1. Dockerfile +11 -14
  2. requirements.txt +7 -6
Dockerfile CHANGED
@@ -1,12 +1,11 @@
1
- # Usar uma imagem base oficial do Python com suporte a Debian
2
  FROM python:3.9-slim
3
 
4
- # Definir variáveis de ambiente para evitar interações durante a instalação
5
- ENV DEBIAN_FRONTEND=noninteractive
6
- ENV PYTHONUNBUFFERED=1
7
-
8
- # Instalar dependências mínimas do sistema para rodar o Chromium
9
  RUN apt-get update && apt-get install -y \
 
 
 
 
10
  wget \
11
  gnupg \
12
  ca-certificates \
@@ -32,27 +31,25 @@ RUN apt-get update && apt-get install -y \
32
  libasound2 \
33
  && rm -rf /var/lib/apt/lists/*
34
 
35
- # Criar um usuário não-root para segurança (opcional, mas recomendado pelo HF)
36
  RUN useradd -m -u 1000 user
37
  USER user
38
  ENV HOME=/home/user \
39
- PATH=/home/user/.local/bin:$PATH
40
 
41
  WORKDIR $HOME/app
42
 
43
- # Copiar apenas o requirements primeiro para aproveitar o cache do Docker
44
  COPY --chown=user requirements.txt .
45
- RUN pip install --no-cache-dir --user -r requirements.txt
 
46
 
47
  # Instalar navegadores do Playwright
48
  RUN python3 -m playwright install chromium --with-deps
49
 
50
- # Copiar o restante do código
51
  COPY --chown=user . .
52
 
53
- # O Hugging Face Spaces usa a porta 7860 por padrão
54
  EXPOSE 7860
55
 
56
- # Comando para iniciar a aplicação usando o gunicorn com suporte a gevent para SocketIO
57
- # Ou rodar diretamente o app.py se estiver configurado corretamente
58
  CMD ["python3", "app.py"]
 
 
1
  FROM python:3.9-slim
2
 
3
+ # Instalar dependências do sistema e ferramentas de compilação
 
 
 
 
4
  RUN apt-get update && apt-get install -y \
5
+ build-essential \
6
+ python3-dev \
7
+ libffi-dev \
8
+ libssl-dev \
9
  wget \
10
  gnupg \
11
  ca-certificates \
 
31
  libasound2 \
32
  && rm -rf /var/lib/apt/lists/*
33
 
34
+ # Configurar usuário não-root
35
  RUN useradd -m -u 1000 user
36
  USER user
37
  ENV HOME=/home/user \
38
+ PATH=/home/user/.local/bin:$PATH
39
 
40
  WORKDIR $HOME/app
41
 
42
+ # Atualizar pip e instalar dependências
43
  COPY --chown=user requirements.txt .
44
+ RUN pip install --no-cache-dir --upgrade pip && \
45
+ pip install --no-cache-dir --user -r requirements.txt
46
 
47
  # Instalar navegadores do Playwright
48
  RUN python3 -m playwright install chromium --with-deps
49
 
 
50
  COPY --chown=user . .
51
 
 
52
  EXPOSE 7860
53
 
54
+ # Usar python direto (o Flask-SocketIO detectará o eventlet automaticamente)
 
55
  CMD ["python3", "app.py"]
requirements.txt CHANGED
@@ -1,6 +1,7 @@
1
- Flask
2
- Flask-SocketIO
3
- playwright
4
- requests
5
- gevent
6
- gevent-websocket
 
 
1
+ Flask==2.3.3
2
+ Flask-SocketIO==5.3.6
3
+ playwright==1.38.0
4
+ requests==2.31.0
5
+ python-socketio==5.10.0
6
+ python-engineio==4.8.0
7
+ eventlet==0.33.3