# Base image FROM python:3.10-slim as base # Chrome and system dependency installation RUN apt-get update && apt-get install -y --no-install-recommends \ fonts-liberation \ libasound2 \ libatk-bridge2.0-0 \ libatk1.0-0 \ libatspi2.0-0 \ libcups2 \ libdbus-1-3 \ libdrm2 \ libgbm1 \ libgtk-3-0 \ libnspr4 \ libnss3 \ libwayland-client0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxkbcommon0 \ libxrandr2 \ xdg-utils \ libu2f-udev \ libvulkan1 \ fontconfig \ curl \ # Aquí agregamos curl para que esté disponible && rm -rf /var/lib/apt/lists/* # Install Google Chrome RUN curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \ apt-get update && apt-get install -y --no-install-recommends ./google-chrome-stable_current_amd64.deb && \ rm google-chrome-stable_current_amd64.deb && \ apt-get clean && rm -rf /var/lib/apt/lists/* # Check Chrome version RUN google-chrome --version # Create cache directories and set proper permissions RUN mkdir -p /root/.cache/selenium && \ mkdir -p /root/.config/matplotlib && \ mkdir -p /root/.cache/fontconfig && \ chmod -R 777 /root/.cache/selenium /root/.config/matplotlib /root/.cache/fontconfig # Set environment variables for Matplotlib and Fontconfig ENV MPLCONFIGDIR=/root/.config/matplotlib ENV XDG_CACHE_HOME=/root/.cache ENV FONTCONFIG_PATH=/root/.cache/fontconfig # Crear el directorio donde se descargará frpc para Gradio RUN mkdir -p /usr/local/lib/python3.10/site-packages/gradio/ # Descargar el archivo frpc para Gradio y asegurarse de que es ejecutable RUN curl -L https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_linux_amd64 -o /usr/local/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2 && \ chmod +x /usr/local/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2 # Copy application files COPY requirements.txt . COPY app.py . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt # Set the entry point CMD ["python", "app.py"]