/ 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