/ Containerfile
Containerfile
 1  # Usamos Ubuntu como base
 2  FROM ubuntu:22.04
 3  
 4  # Instalamos dependencias del sistema
 5  RUN apt update && apt install -y \
 6      openjdk-11-jre-headless \
 7      python3 python3-pip \
 8      curl wget unzip && \
 9      apt clean && rm -rf /var/lib/apt/lists/*
10  
11  # Instalamos las dependencias de Python necesarias para el script
12  RUN pip3 install --no-cache-dir \
13      beautifulsoup4 \
14      requests \
15      urllib3 \
16      readability-lxml \
17      openai
18  
19  # Creamos un usuario no root para mayor seguridad
20  RUN useradd -m yacy && mkdir /opt/yacy && chown yacy:yacy /opt/yacy
21  
22  # Descargamos e instalamos YaCy
23  WORKDIR /opt/yacy
24  RUN wget https://github.com/yacy/yacy_search_server/releases/latest/download/yacy_v1.924_20201111_10000.tar.gz -O yacy.tar.gz \
25      && tar -xzf yacy.tar.gz --strip-components=1 \
26      && rm yacy.tar.gz
27  
28  # Copiamos el script de optimización al contenedor
29  COPY script.py /opt/yacy/script.py
30  
31  # Exponemos los puertos de YaCy
32  EXPOSE 8090 8443
33  
34  # Definimos el usuario con el que correrá el contenedor
35  USER yacy
36  
37  # Configuramos el punto de entrada para iniciar YaCy y ejecutar el script
38  CMD ["/bin/bash", "-c", "cd /opt/yacy && ./startYACY.sh && exec tail -f DATA/LOG/yacy00.log"]
39