diff --git a/alpine/Dockerfile b/alpine/Dockerfile index 6c9ab38d..d6e5cc05 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -32,7 +32,7 @@ RUN apk --no-cache add \ zlib-dev # Install GHCup, GHC, Cabal -RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh +RUN curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org --retry 4 | sh # Add ghcup to PATH ENV PATH=${PATH}:/root/.local/bin ENV PATH=${PATH}:/root/.ghcup/bin @@ -98,6 +98,7 @@ LABEL org.pandoc.maintainer='Albert Krewinkel ' LABEL org.pandoc.author "John MacFarlane" LABEL org.pandoc.version "$pandoc_version" LABEL com.azure.dev.pipelines.agent.handler.node.path "/usr/local/bin/node" +LABEL org.opencontainers.image.description "Modified from https://hub.docker.com/r/pandoc/extra to include additional packages configuration" WORKDIR /data @@ -189,7 +190,10 @@ COPY common/extra/packages.txt /root/extra_packages.txt RUN sed -e 's/ *#.*$//' -e '/^ *$/d' /root/extra_packages.txt | xargs tlmgr install && \ rm -f /root/extra_packages.txt -RUN python3 -m pip install --break-system-packages pandoc-latex-environment python-dotenv Office365-REST-Python-Client +RUN python3 -m pip install --break-system-packages --no-cache-dir \ + pandoc-latex-environment \ + python-dotenv \ + Office365-REST-Python-Client # Install eisvogel template ARG TEMPLATES_DIR=/.pandoc/templates @@ -199,6 +203,6 @@ RUN mkdir -p ${TEMPLATES_DIR} && \ ARG EISVOGEL_REPO=https://raw.githubusercontent.com/Wandmalfarbe/pandoc-latex-template ARG EISVOGEL_VERSION=2.4.2 -RUN curl -o ${TEMPLATES_DIR}/eisvogel.latex ${EISVOGEL_REPO}/${EISVOGEL_VERSION}/eisvogel.tex +RUN curl -sSL --retry 4 -o ${TEMPLATES_DIR}/eisvogel.latex ${EISVOGEL_REPO}/${EISVOGEL_VERSION}/eisvogel.tex CMD [ "node" ] diff --git a/common/latex/install-texlive.sh b/common/latex/install-texlive.sh index 8d35172a..c6dd9410 100755 --- a/common/latex/install-texlive.sh +++ b/common/latex/install-texlive.sh @@ -12,7 +12,7 @@ if [ "$tlversion" = "$default_version" ]; then # always use the mirror URL, we'd run into problems whenever we get # installer and signatures from different mirrors that are not 100% # in sync. - installer_url=$(curl -L -o /dev/null -w '%{url_effective}' https://mirror.ctan.org/systems/texlive/tlnet) + installer_url=$(curl -L --retry 4 -o /dev/null -w '%{url_effective}' https://mirror.ctan.org/systems/texlive/tlnet) repository= else installer_url="\ @@ -22,9 +22,9 @@ ftp://tug.org/historic/systems/texlive/$tlversion/tlnet-final" fi # Download the install-tl perl script. -curl -o "$installer_archive" "$installer_url"/"$installer_archive" || exit 1 -curl -o "$installer_archive".sha512 "$installer_url"/"$installer_archive".sha512 || exit 1 -curl -o "$installer_archive".sha512.asc "$installer_url"/"$installer_archive".sha512.asc || exit 1 +curl --retry 4 -o "$installer_archive" "$installer_url"/"$installer_archive" || exit 1 +curl --retry 4 -o "$installer_archive".sha512 "$installer_url"/"$installer_archive".sha512 || exit 1 +curl --retry 4 -o "$installer_archive".sha512.asc "$installer_url"/"$installer_archive".sha512.asc || exit 1 ## Verifiy installer integrity # get current signing key