¿Cómo configuro un contenedor UBI8 para compilar documentos PDF a través de Sphinx?

¿Cómo configuro un contenedor UBI8 para compilar documentos PDF a través de Sphinx?

Veo que hay una imagen basada en Debian que puede hacer esto aquí (https://hub.docker.com/r/sphinxdoc/sphinx-latexpdf), pero necesito basar mi solución en la imagen del contenedor Red Hat UBI 8. ¿Qué paquetes necesito instalar para que esto funcione en esa plataforma? (Estaré en una máquina suscrita a RHEL cuando construya).

Espero montar un volumen con mi documentación en formato de texto reestructurado y quiero que el contenedor proporcione salida HTML y PDF a través de Sphinx de la misma manera que lo hace el documento vinculado sphinxdoc/sphinx-latexpdf.

Respuesta1

Los diversos requisitos parecen estar repartidos entre los repositorios CodeReady, AppStream y Epel. Necesitará configurarlos todos y luego parece que texlive-*es necesario instalar casi todos los paquetes. Puse la lista de ellos en texlive-requirements.txt. Luego creé este Dockerfile y lo construí. También asumo que tendrás que incluir algunos requisitos de Python en pip-requirements.txt.

FROM ubi8
WORKDIR /docs

# Setup Extra RPM repositories
# CodeReady Builder is an EPEL dependency and has several texlive-* packages
# Epel is a dependency of latexmk
RUN yum -y update \
  && yum -y install yum-utils \
  && yum-config-manager --enable codeready-builder-for-rhel-8-x86_64-rpms \
  && rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8 \
  && yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

# Fill texlive-requirements.txt with all the packages in 
# `yum list available|grep texlive` as run from a UBI8 container with 
# the above repos provided
ARG deps="ImageMagick graphviz make wget enchant curl python3-pip latexmk"
ADD texlive-requirements.txt /tmp/yum.txt
RUN yum install -y $deps $(cat /tmp/yum.txt) && \
    yum clean all

# For whatever python dependencies, put them in pip-requirements.txt
ADD pip-requirements.txt /tmp/requirements.txt
RUN pip3 install -r /tmp/requirements.txt

Esto debería funcionar igual que elImagen en Docker Hub que proporciona Sphinx.incluido el montaje de volumen y compatible con compilaciones HTML y LatexPDF.

información relacionada