These dev containers are derived from the language docker stacks, share their environment variables and incorporate most tweaks and default settings of the JupyterLab docker stacks.
They depend on very few
Dev Container Features and add some extra
customisation through build argument (build.args) and environment variables
(remoteEnv).
ℹ️ See Notes on INSTALL_DEVTOOLS.
In comparison to the rocker-org/devcontainer-images, these dev containers are tweaked as follows:
Julia images
The following startup scripts are put in place:
- $JULIA_PATH/etc/julia/startup.jl
to add the
LOAD_PATHof the pre-installed packages - ~/.julia/config/startup.jl to start Revise and activate either the project environment or package directory.
- ~/.julia/config/startup_ijulia.jl
to register MIME type
application/pdfto IJulia.
Julia images
JULIA_VERSIONJULIA_NUM_THREADS: If unset (default), Julia starts up with a single thread of execution.
👉 User-settable at runtime.
R images
R_VERSIONQGIS_VERSION((CUDA) R qgisprocess image)OTB_VERSION((CUDA) R qgisprocess image)CRAN: The CRAN mirror URL.
👉 User-settable at build time.R_BINARY_PACKAGES: R package type to use.
👉 User-settable at build time.- unset: Source packages. (default)
1/yes: Binary packages.
DOWNLOAD_STATIC_LIBV8=1: R (V8): Installing V8 on Linux, the alternative way.RETICULATE_MINICONDA_ENABLED=0: R (reticulate): Disable prompt to install miniconda.QT_QPA_PLATFORM((CUDA) R qgisprocess image): Qt Platform Plugin to use.
👉 User-settable at runtime.offscreen: Renders to an offscreen buffer. (default)- unset: Auto-detect Qt Platform Plugin.
LIBGL_ALWAYS_SOFTWARE=1((CUDA) R qgisprocess image): Always use software rendering.
👉 User-settable at runtime.VGL_DISPLAY=egl((CUDA) R qgisprocess image): Use the EGL backend to enable OpenGL rendering without an X server.
👉 User-settable at runtime.
MAX/Mojo images
MOJO_VERSIONMODULAR_HOME
Versions
PYTHON_VERSIONJUPYTERLAB_VERSIONGIT_VERSIONGIT_LFS_VERSIONPANDOC_VERSIONQUARTO_VERSION(Julia pubtools, MAX/Mojo/Python scipy, R verse+ images)
Miscellaneous
BASE_IMAGE: Its very base, a Docker Official Image.PARENT_IMAGE: The image it was derived from.PARENT_IMAGE_BUILD_DATE: The date the parent image was built (ISO 8601 format).LANG: The locale inside the container.
👉 User-settable at build time.TZ: The timezone inside the container.
👉 User-settable at build time.PIP_USER: The Python package install directory.
👉 User-settable at runtime.1: user directory (~/.local, persistent (default))0: system directory (/usr/local, not persistent)
CTAN_REPO: The CTAN mirror URL. (Julia pubtools, MAX/Mojo/Python scipy, R verse+ images)OMP_NUM_THREADS: If unset (default), BLAS/OpenMP will use as many threads as possible.
👉 User-settable at runtime.
The default shell is Zsh.
In addition to the TeX packages used in
rocker/verse,
jupyter/scipy-notebook
and required for nbconvert, the
packages requested by the community
are installed.
- IPython:
- Only enable figure formats
svgandpdffor IPython.
- Only enable figure formats
- JupyterLab:
- Theme > Selected Theme: JupyterLab Dark
- Python LSP Server: Example settings according to jupyter-lsp/jupyterlab-lsp > Installation > Configuring the servers
- VS Code
- Features > Chat > Disable AI Features: true
- Extensions > GitLab Workflow
- GitLab Duo Pro > Duo Code Suggestions: false
- GitLab Duo Pro > Duo Chat: false
- GitLab Duo Pro > Duo Agent Platform: false
- GitLab Duo Pro > Enabled Without Gitlab Project: false
- Extensions > GitLens — Git supercharged
- General > Show Welcome On Install: false
- General > Show Whats New After Upgrade: false
- Extensions > Resource Monitor Configuration
- Show: Battery: false
- Show: Cpufreq: false
- Zsh
- Oh My Zsh:
~/.zshrc- Set
PATHso it includes user's private bin if it exists
- Set
- Oh My Zsh:
- Bash: /etc/skel/.profile
- Update
PATHfor login shells, e.g. when started as a server associated with JupyterHub.
- Update
Julia images
- VS Code
- Extensions > Julia
- Enable Crash Reporter: false
- Enable Telemetry: false
- Extensions > Julia
MAX/Mojo images
R images
- R:
$(R RHOME)/etc/Rprofile.site- IRkernel: Only enable
image/svg+xmlandapplication/pdffor plot display. - R Extension (VS Code): Disable help panel and revert to old behaviour.
- IRkernel: Only enable
- JupyterLab:
- R LSP Server: Example settings according to jupyter-lsp/jupyterlab-lsp > Installation > Configuring the servers
- VS Code
- Extensions > R
- Bracketed Paste: true
- Plot: Use Httpgd: true
- Rterm: Linux:
/usr/local/bin/radian - Rterm: Option:
["--no-save", "--no-restore"] - Workspace Viewer: Show Object Size: true
- Extensions > R
- IPython: Create file
~/.ipython/profile_default/ipython_config.py- Valid figure formats:
png,retina,jpeg,svg,pdf.
- Valid figure formats:
- JupyterLab: Settings > Advanced Settings Editor
- VS Code Server: Manage > Settings
- Zsh
- Oh My Zsh: Edit
~/.zshrc.
- Oh My Zsh: Edit
- Bash
- Edit
~/.bashrc.
- Edit
R images
- R: Create file
~/.Rprofile- Valid plot mimetypes:
image/png,image/jpeg,image/svg+xml,application/pdf.
ℹ️ MIME typetext/plainmust always be specified.
- Valid plot mimetypes:
The Python version is selected as follows:
- Julia/MAX/Mojo/R images: The latest Python version Numba, PyTorch and TensorFlow are compatible with.
- Python images: The latest Python version, regardless of whether all packages – such as Numba, PyTorch, TensorFlow, etc. – are already compatible with it.
This Python version is installed at /usr/local/bin.