[refactor] Introduce multi-mode startup and registry-based images
- Replace monolithic build flow with three operating modes: pull (default), local-build, publish - Add version.txt for image tagging and multi-platform builds via buildx (--publish) - Switch builder to tarball-based Quarto install for better cross-platform reliability - Update docker-compose.yml and jupyterhub_config.py to use environment variables for image names, defaulting to registry images - Refactor start-jupyterhub.sh: modular functions for image management, clearer flag handling and error messages - Simplify Readme.md with structured tables instead of dense paragraphs, clarify data persistence and R package workflow
This commit is contained in:
@@ -55,12 +55,15 @@ RUN ARCH=$(dpkg --print-architecture) \
|
||||
| tar -xz -C /usr/local/bin hugo \
|
||||
&& chmod +x /usr/local/bin/hugo
|
||||
|
||||
# Install Quarto using the official .deb package (handles all dependencies properly)
|
||||
# Install Quarto from the official tarball.
|
||||
# Using tar.gz instead of .deb avoids dpkg and is more reliable in cross-arch
|
||||
# (QEMU) builds where GitHub downloads are slower and more prone to transient errors.
|
||||
ARG QUARTO_VERSION=1.6.42
|
||||
RUN ARCH=$(dpkg --print-architecture) \
|
||||
&& curl -fsSL -o /tmp/quarto.deb "https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-${ARCH}.deb" \
|
||||
&& dpkg -i /tmp/quarto.deb \
|
||||
&& rm /tmp/quarto.deb
|
||||
&& curl -fsSL --retry 5 --retry-delay 10 \
|
||||
"https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-${ARCH}.tar.gz" \
|
||||
| tar -xz -C /opt \
|
||||
&& ln -s "/opt/quarto-${QUARTO_VERSION}/bin/quarto" /usr/local/bin/quarto
|
||||
|
||||
# Create working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
Reference in New Issue
Block a user