UniversalScrap / Dockerfile
Lukeetah's picture
Update Dockerfile
6945b37 verified
# Usar la imagen base oficial de Python 3.10
FROM python:3.10
# Establecer el directorio de trabajo
WORKDIR /app
# Instalar dependencias necesarias para descargar, descomprimir y ejecutar Chrome
RUN apt-get update && apt-get install -y \
wget \
unzip \
gnupg \
# Dependencias de Chrome
libnss3 \
libgconf-2-4 \
libdbus-glib-1-2 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libgtk-3-0 \
libgbm1 \
libasound2 && \
rm -rf /var/lib/apt/lists/*
# Descargar e instalar Google Chrome Estable
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/chrome.deb && \
apt-get install -y /tmp/chrome.deb && \
rm /tmp/chrome.deb
# Obtener la versi贸n de Chrome instalada (ej: 125.0.6422.112)
# y luego la versi贸n mayor correspondiente (ej: 125.0.6422)
# para encontrar el chromedriver correcto.
# El nuevo JSON endpoint de Chrome for Testing es la fuente oficial.
RUN CHROME_VERSION=$(google-chrome --version | cut -d ' ' -f3 | cut -d'.' -f1-3) && \
echo "Versi贸n de Chrome instalada: ${CHROME_VERSION}" && \
# Descargar la versi贸n exacta de Chromedriver
wget -O /tmp/chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/$(wget -qO- https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json | jq -r ".versions[] | select(.version | startswith(\"${CHROME_VERSION}\")) | .downloads.chromedriver[0].url")" && \
unzip /tmp/chromedriver.zip -d /tmp && \
# Mover chromedriver a una ruta est谩ndar y hacerlo ejecutable
mv /tmp/chromedriver-linux64/chromedriver /usr/local/bin/chromedriver && \
chmod +x /usr/local/bin/chromedriver && \
# Limpiar
rm /tmp/chromedriver.zip
# Instalar las dependencias de Python
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copiar el resto del c贸digo de la aplicaci贸n
COPY . .
# Exponer el puerto de Gradio
EXPOSE 7860
# Comando para iniciar la aplicaci贸n
CMD ["python", "app.py"]