Spaces:
Sleeping
Sleeping
Upload 4 files
Browse files- Dockerfile +11 -11
Dockerfile
CHANGED
|
@@ -1,7 +1,6 @@
|
|
| 1 |
FROM python:3.9-slim
|
| 2 |
|
| 3 |
# 1. Instalar dependências do sistema como ROOT
|
| 4 |
-
# Incluindo todas as dependências que o Playwright normalmente instalaria com --with-deps
|
| 5 |
RUN apt-get update && apt-get install -y \
|
| 6 |
build-essential \
|
| 7 |
python3-dev \
|
|
@@ -32,26 +31,27 @@ RUN apt-get update && apt-get install -y \
|
|
| 32 |
libasound2 \
|
| 33 |
&& rm -rf /var/lib/apt/lists/*
|
| 34 |
|
| 35 |
-
# 2. Configurar usuário
|
| 36 |
RUN useradd -m -u 1000 user
|
| 37 |
-
|
|
|
|
|
|
|
| 38 |
|
| 39 |
-
|
|
|
|
|
|
|
| 40 |
COPY --chown=user requirements.txt .
|
| 41 |
RUN pip install --no-cache-dir --upgrade pip && \
|
| 42 |
-
pip install --no-cache-dir -r requirements.txt
|
| 43 |
|
| 44 |
-
# 4. Instalar o navegador Chromium
|
| 45 |
-
|
|
|
|
| 46 |
RUN python3 -m playwright install chromium
|
| 47 |
|
| 48 |
# 5. Copiar o restante do código
|
| 49 |
COPY --chown=user . .
|
| 50 |
|
| 51 |
-
# Mudar para o usuário não-root antes de rodar
|
| 52 |
-
USER user
|
| 53 |
-
ENV PATH="/home/user/.local/bin:${PATH}"
|
| 54 |
-
|
| 55 |
EXPOSE 7860
|
| 56 |
|
| 57 |
CMD ["python3", "app.py"]
|
|
|
|
| 1 |
FROM python:3.9-slim
|
| 2 |
|
| 3 |
# 1. Instalar dependências do sistema como ROOT
|
|
|
|
| 4 |
RUN apt-get update && apt-get install -y \
|
| 5 |
build-essential \
|
| 6 |
python3-dev \
|
|
|
|
| 31 |
libasound2 \
|
| 32 |
&& rm -rf /var/lib/apt/lists/*
|
| 33 |
|
| 34 |
+
# 2. Configurar usuário e ambiente
|
| 35 |
RUN useradd -m -u 1000 user
|
| 36 |
+
ENV HOME=/home/user \
|
| 37 |
+
PATH=/home/user/.local/bin:$PATH \
|
| 38 |
+
PLAYWRIGHT_BROWSERS_PATH=/home/user/pw-browsers
|
| 39 |
|
| 40 |
+
WORKDIR $HOME/app
|
| 41 |
+
|
| 42 |
+
# 3. Instalar requisitos Python
|
| 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 |
+
# 4. Instalar o navegador Chromium na pasta do usuário
|
| 48 |
+
RUN mkdir -p /home/user/pw-browsers && chown -R user:user /home/user/pw-browsers
|
| 49 |
+
USER user
|
| 50 |
RUN python3 -m playwright install chromium
|
| 51 |
|
| 52 |
# 5. Copiar o restante do código
|
| 53 |
COPY --chown=user . .
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
EXPOSE 7860
|
| 56 |
|
| 57 |
CMD ["python3", "app.py"]
|