Skip to content
Snippets Groups Projects
Verified Commit be3d26cb authored by Olivier Benz's avatar Olivier Benz
Browse files

Add MAX images

parent f9818e90
No related branches found
No related tags found
No related merge requests found
# JupyterLab Mojo docker stack
# JupyterLab Mojo (MAX) docker stack
<!-- markdownlint-disable line-length -->
[![minimal-readme compliant](https://img.shields.io/badge/readme%20style-minimal-brightgreen.svg)](https://github.com/RichardLitt/standard-readme/blob/master/example-readmes/minimal-readme.md) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) <a href="https://liberapay.com/benz0li/donate"><img src="https://liberapay.com/assets/widgets/donate.svg" alt="Donate using Liberapay" height="20"></a>
......@@ -8,6 +8,8 @@ Multi-arch (`linux/amd64`, `linux/arm64/v8`) docker images:
* [`glcr.b-data.ch/jupyterlab/mojo/base`](https://gitlab.b-data.ch/jupyterlab/mojo/base/container_registry)
* [`glcr.b-data.ch/jupyterlab/mojo/scipy`](https://gitlab.b-data.ch/jupyterlab/mojo/scipy/container_registry)
* [`glcr.b-data.ch/jupyterlab/max/base`](https://gitlab.b-data.ch/jupyterlab/max/base/container_registry)
* [`glcr.b-data.ch/jupyterlab/max/scipy`](https://gitlab.b-data.ch/jupyterlab/max/scipy/container_registry)
Images considered stable for Mojo versions ≥ 24.3.0.
......@@ -29,6 +31,7 @@ base → scipy
* **Git**: A distributed version-control system for tracking changes in source
code.
* **Git LFS**: A Git extension for versioning large files.
* **MAX**: A high-performance generative AI framework.
* **Mojo**: A programming language for AI developers.
* **Neovim**: Vim-fork focused on extensibility and usability. (24.4.0+)
* **Pandoc**: A universal markup converter.
......@@ -130,6 +133,7 @@ latest:
```bash
cd base && docker build \
--build-arg MOJO_VERSION=24.5.0 \
--build-arg INSTALL_MAX=false \
--build-arg PYTHON_VERSION=3.12.7 \
-t jupyterlab/mojo/base \
-f latest.Dockerfile .
......@@ -140,6 +144,7 @@ version:
```bash
cd base && docker build \
-t jupyterlab/mojo/base:MAJOR.MINOR.PATCH \
--build-arg INSTALL_MAX=false \
-f MAJOR.MINOR.PATCH.Dockerfile .
```
......@@ -188,6 +193,8 @@ docker run -it --rm \
* [`glcr.b-data.ch/jupyterlab/mojo/base`](https://gitlab.b-data.ch/jupyterlab/mojo/base/container_registry)
* [`glcr.b-data.ch/jupyterlab/mojo/scipy`](https://gitlab.b-data.ch/jupyterlab/mojo/scipy/container_registry)
* [`glcr.b-data.ch/jupyterlab/max/base`](https://gitlab.b-data.ch/jupyterlab/max/base/container_registry)
* [`glcr.b-data.ch/jupyterlab/max/scipy`](https://gitlab.b-data.ch/jupyterlab/max/scipy/container_registry)
The use of the `-v` flag in the command mounts the empty directory on the host
(`${PWD}/jupyterlab-jovyan` in the command) as `/home/jovyan` in the container.
......
## Supported Versions
Only the docker image with the latest version of Mojo is supported with security
updates.
Only the docker image with the latest version of Mojo (MAX) is supported with
security updates.
## Reporting a Vulnerability
......@@ -10,10 +10,11 @@ To report a vulnerability in the latest docker image, email the maintainer
## Vulnerabilities in Prior Versions
Vulnerabilities in docker images with prior versions of Mojo are not fixed.
Vulnerabilities in docker images with prior versions of Mojo (MAX) are not
fixed.
Whenever a new version of Mojo is released, the previous version's docker image
is rebuilt once again and then frozen.
Whenever a new version of Mojo (MAX) is released, the previous version's docker
image is rebuilt once again and then frozen.
Docker images *may* be rebuilt or extended if they fail to start or have runtime
issues.
# Version Matrix
Image tags = Mojo versions
Image tags = Mojo (MAX) versions
Topmost entry = Tag `latest`
## All images
| Mojo | Python | Jupyter Hub | Jupyter Lab | code‑server (Code) | Neovim | Git | Git LFS | Pandoc | Linux distro |
|:-------|:-----------|:------------|:------------|:-------------------|:-------|:-------|:--------|:-------|:-------------|
| 24.5.0 | 3.12.7 | 5.2.0 | 4.2.5 | 4.93.1 (1.93.1) | 0.10.2 | 2.47.0 | 3.5.1 | 3.2 | Debian 12 |
| 24.4.0 | 3.12.6 | 5.1.0 | 4.2.5 | 4.92.2 (1.92.2) | 0.10.1 | 2.46.1 | 3.5.1 | 3.2 | Debian 12 |
| 24.3.0 | 3.12.4 | 5.0.0 | 4.2.1 | 4.89.1 (1.89.1) | n/a | 2.45.2 | 3.5.1 | 3.1.11 | Debian 12 |
| Mojo (MAX) | Python | Jupyter Hub | Jupyter Lab | code‑server (Code) | Neovim | Git | Git LFS | Pandoc | Linux distro |
|:-----------|:-----------|:------------|:------------|:-------------------|:-------|:-------|:--------|:-------|:-------------|
| 24.5.0 | 3.12.7 | 5.2.0 | 4.2.5 | 4.93.1 (1.93.1) | 0.10.2 | 2.47.0 | 3.5.1 | 3.2 | Debian 12 |
| 24.4.0[^1] | 3.12.6 | 5.1.0 | 4.2.5 | 4.92.2 (1.92.2) | 0.10.1 | 2.46.1 | 3.5.1 | 3.2 | Debian 12 |
| 24.3.0[^1] | 3.12.4 | 5.0.0 | 4.2.1 | 4.89.1 (1.89.1) | n/a | 2.45.2 | 3.5.1 | 3.1.11 | Debian 12 |
[^1]: MAX images n/a
## scipy images
......
......@@ -183,7 +183,7 @@ RUN dpkgArch="$(dpkg --print-architecture)" \
setuptools \
wheel; \
fi \
## Mojo/MAX: Additional runtime dependency
## Mojo (MAX): Additional runtime dependency
&& apt-get -y install --no-install-recommends libncurses-dev \
## mblack: Additional Python dependencies
&& export PIP_BREAK_SYSTEM_PACKAGES=1 \
......@@ -249,7 +249,7 @@ RUN curl -ssL https://magic.modular.com | bash \
## Clean up
&& rm -rf $HOME/.modular \
&& rm -rf /usr/local/lib/python${PYTHON_VERSION%.*}/site-packages/* \
## Install Mojo/MAX
## Install Mojo (MAX)
&& cd /tmp \
&& if [ "${INSTALL_MAX}" = "1" ] || [ "${INSTALL_MAX}" = "true" ]; then \
if [ "${MOJO_VERSION}" = "nightly" ]; then \
......@@ -430,7 +430,7 @@ RUN export PIP_BREAK_SYSTEM_PACKAGES=1 \
ENV PATH=/opt/modular/bin:$PATH
## Install Mojo/MAX
## Install Mojo (MAX)
COPY --from=modular /opt /opt
## Install the Mojo kernel for Jupyter
COPY --from=modular /usr/local/share/jupyter /usr/local/share/jupyter
......@@ -438,7 +438,7 @@ COPY --from=modular /usr/local/share/jupyter /usr/local/share/jupyter
COPY --from=modular /usr/local/lib/python${PYTHON_VERSION%.*}/site-packages \
/usr/local/lib/python${PYTHON_VERSION%.*}/site-packages
## Mojo/MAX: Install Python dependencies
## Mojo (MAX): Install Python dependencies
RUN export PIP_BREAK_SYSTEM_PACKAGES=1 \
&& if [ "${INSTALL_MAX}" = "1" ] || [ "${INSTALL_MAX}" = "true" ]; then \
packages=$(grep "Requires-Dist:" \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment