diff --git a/workbench/2024.12/Containerfile.ubuntu2204.std b/workbench/2024.12/Containerfile.ubuntu2204.std index 81029e4..9a514c2 100644 --- a/workbench/2024.12/Containerfile.ubuntu2204.std +++ b/workbench/2024.12/Containerfile.ubuntu2204.std @@ -63,9 +63,6 @@ RUN \ ### Install Quarto to PATH ### RUN ln -s /lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin/quarto -### Install TinyTeX using Quarto ### -RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path - ### Install R ### RUN RUN_UNATTENDED=1 R_VERSION=4.4.2 bash -c "$(curl -fsSL https://rstd.io/r-install)" && \ find . -type f -name '[rR]-4.4.2.*\.(deb|rpm)' -delete @@ -107,6 +104,13 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \ && echo "RSPM=https://p3m.dev/cran/__linux__/jammy/latest" > /etc/rstudio/repos.conf \ && echo "CRAN=https://p3m.dev/cran/__linux__/jammy/latest" >> /etc/rstudio/repos.conf +### Install TinyTeX using Quarto ### +# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust +# the cache on new releases. +ADD https://api.github.com/repos/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json +RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path \ + && rm -f /tmp/tinytex-release.json + EXPOSE 8787/tcp EXPOSE 5559/tcp CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/workbench/2025.05/Containerfile.ubuntu2204.std b/workbench/2025.05/Containerfile.ubuntu2204.std index 75af8f4..c2d17c3 100644 --- a/workbench/2025.05/Containerfile.ubuntu2204.std +++ b/workbench/2025.05/Containerfile.ubuntu2204.std @@ -63,9 +63,6 @@ RUN \ ### Install Quarto to PATH ### RUN ln -s /lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin/quarto -### Install TinyTeX using Quarto ### -RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path - ### Install R ### RUN RUN_UNATTENDED=1 R_VERSION=4.4.3 bash -c "$(curl -fsSL https://rstd.io/r-install)" && \ find . -type f -name '[rR]-4.4.3.*\.(deb|rpm)' -delete @@ -107,6 +104,13 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \ && echo "RSPM=https://p3m.dev/cran/__linux__/jammy/latest" > /etc/rstudio/repos.conf \ && echo "CRAN=https://p3m.dev/cran/__linux__/jammy/latest" >> /etc/rstudio/repos.conf +### Install TinyTeX using Quarto ### +# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust +# the cache on new releases. +ADD https://api.github.com/repos/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json +RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path \ + && rm -f /tmp/tinytex-release.json + EXPOSE 8787/tcp EXPOSE 5559/tcp CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/workbench/2025.09/Containerfile.ubuntu2204.std b/workbench/2025.09/Containerfile.ubuntu2204.std index 2551972..e9c141c 100644 --- a/workbench/2025.09/Containerfile.ubuntu2204.std +++ b/workbench/2025.09/Containerfile.ubuntu2204.std @@ -63,9 +63,6 @@ RUN \ ### Install Quarto to PATH ### RUN ln -s /lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin/quarto -### Install TinyTeX using Quarto ### -RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path - ### Install R ### RUN RUN_UNATTENDED=1 R_VERSION=4.5.1 bash -c "$(curl -fsSL https://rstd.io/r-install)" && \ find . -type f -name '[rR]-4.5.1.*\.(deb|rpm)' -delete @@ -107,6 +104,13 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \ && echo "RSPM=https://p3m.dev/cran/__linux__/jammy/latest" > /etc/rstudio/repos.conf \ && echo "CRAN=https://p3m.dev/cran/__linux__/jammy/latest" >> /etc/rstudio/repos.conf +### Install TinyTeX using Quarto ### +# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust +# the cache on new releases. +ADD https://api.github.com/repos/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json +RUN /lib/rstudio-server/bin/quarto/bin/quarto install tinytex --no-prompt --quiet --update-path \ + && rm -f /tmp/tinytex-release.json + EXPOSE 8787/tcp EXPOSE 5559/tcp CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/workbench/template/Containerfile.ubuntu2204.jinja2 b/workbench/template/Containerfile.ubuntu2204.jinja2 index a6e5f41..7cfdc18 100644 --- a/workbench/template/Containerfile.ubuntu2204.jinja2 +++ b/workbench/template/Containerfile.ubuntu2204.jinja2 @@ -60,9 +60,6 @@ RUN {% if Image.DownloadURL is defined %}DOWNLOAD_URL="{{ Image.DownloadURL }}" RUN ln -s /lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin/quarto {% if not Image.Variant == "Minimal" -%} -### Install TinyTeX using Quarto ### -RUN {{ quarto.install_tinytex_command("/lib/rstudio-server/bin/quarto/bin/quarto", True) }} - ### Install R ### {{ r.run_install(Dependencies.R) }} @@ -107,6 +104,16 @@ RUN mkdir -p /var/lib/rstudio-server/monitor/log \ && echo "RSPM={{ r.get_p3m_cran_repo(Image.OS) }}" > /etc/rstudio/repos.conf \ && echo "CRAN={{ r.get_p3m_cran_repo(Image.OS) }}" >> /etc/rstudio/repos.conf +{%- if Image.Variant != "Minimal" %} + +### Install TinyTeX using Quarto ### +# Caches won't invalidate correctly on new releases for TinyTeX installs. This ADD instruction is a workaround to bust +# the cache on new releases. +ADD https://api.github.com/repos/rstudio/tinytex-releases/releases/latest /tmp/tinytex-release.json +RUN {{ quarto.install_tinytex_command("/lib/rstudio-server/bin/quarto/bin/quarto", True) }} \ + && rm -f /tmp/tinytex-release.json +{%- endif %} + EXPOSE 8787/tcp EXPOSE 5559/tcp CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]