diff --git a/README.md b/README.md index 11312b083f7c2f178d5320d52413a3485f573e62..d73460e0853a6cb5e6a3087488670409d93f9d1c 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,20 @@ This is a collection of customized Jupyter images to be used in the JupyterHub r - Added Notebook git Puller ([nbgitpuller](https://hub.jupyter.org/nbgitpuller)) - Provide default home directory contents including VS Code Extensions and settings in `/etc/skel/`. Can be copied on first startup using [post start hook](https://z2jh.jupyter.org/en/stable/jupyterhub/customizing/user-environment.html#about-user-storage-and-adding-files-to-it). +## keras3-cpu + +- Based on: `jupyter/tensorflow-notebook:latest` ([quay.io](https://quay.io/repository/jupyter/tensorflow-notebook), [src](https://github.com/jupyter/docker-stacks/tree/main/images/tensorflow-notebook), [doc](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-tensorflow-notebook)) +- Available as: [`christofkaufmann/keras3-cpu-notebook:latest`](https://hub.docker.com/repository/docker/christofkaufmann/keras3-cpu-notebook) +- Features: + - Jupyter enabled + - Contains Keras3 with tensorflow as backend + - Added VS Code via code-server as web UI and via VS Code CLI for tunnels + - Added Notebook git Puller ([nbgitpuller](https://hub.jupyter.org/nbgitpuller)) + - Provide default home directory contents including VS Code Extensions and settings in `/etc/skel/`. Can be copied on first startup using [post start hook](https://z2jh.jupyter.org/en/stable/jupyterhub/customizing/user-environment.html#about-user-storage-and-adding-files-to-it). + ## keras3-gpu -- Based on: `jupyter/tensorflow-notebook:cuda-latest` ([quay.io](https://quay.io/repository/jupyter/tensorflow-notebook), [src](https://github.com/jupyter/docker-stacks/tree/main/images/tensorflow-notebook/cuda), [doc](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#cuda-enabled-variant)) +- Based on: `jupyter/tensorflow-notebook:cuda-latest` ([quay.io](https://quay.io/repository/jupyter/tensorflow-notebook), [src](https://github.com/jupyter/docker-stacks/tree/main/images/tensorflow-notebook/cuda), [doc](https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#cuda-enabled-variants)) - Available as: [`christofkaufmann/keras3-gpu-notebook:latest`](https://hub.docker.com/repository/docker/christofkaufmann/keras3-gpu-notebook) - Features: - Jupyter enabled diff --git a/keras3-cpu/Dockerfile b/keras3-cpu/Dockerfile index c4715c848df3c5e3a3060f5ab8ab0ae43e3b0444..d3fbf0670d2474894cffa60639398bc2cba0d897 100644 --- a/keras3-cpu/Dockerfile +++ b/keras3-cpu/Dockerfile @@ -57,7 +57,7 @@ RUN mamba install --yes --no-update-deps \ USER root # install code-server and extensions -ENV CODE_VERSION=4.91.0 +ENV CODE_VERSION=4.93.1 RUN wget --no-hsts -q https://github.com/coder/code-server/releases/download/v$CODE_VERSION/code-server_${CODE_VERSION}_amd64.deb && \ dpkg -i code-server_${CODE_VERSION}_amd64.deb && \ rm -f code-server_${CODE_VERSION}_amd64.deb && \ @@ -81,7 +81,7 @@ RUN wget --no-hsts -q -O vscode_cli.tar.gz 'https://code.visualstudio.com/sha/do # install some packages USER ${NB_UID} -RUN mamba install --yes --no-update-deps \ +RUN mamba install --yes \ # umap + hdbscan 'umap-learn' \ 'hdbscan' \ @@ -140,6 +140,7 @@ RUN mamba install --yes --no-update-deps \ USER root # activate extensions by default COPY plugin.jupyterlab-settings "/home/${NB_USER}/.jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/" +COPY plugin.jupyterlab-settings "/home/${NB_USER}/.jupyter/lab/user-settings/@jupyter-server/resource-usage/" RUN chown -R ${NB_USER} "/home/${NB_USER}/.jupyter" && \ # history search with Page Up/Down sed -i "s/^# \(.*history-search.*\)/\1/" /etc/inputrc && \ diff --git a/keras3-cpu/topbar-item.jupyterlab-setting b/keras3-cpu/topbar-item.jupyterlab-setting new file mode 100644 index 0000000000000000000000000000000000000000..1c5d81f9b33e181ca60efb52b59d29f92a4f2b34 --- /dev/null +++ b/keras3-cpu/topbar-item.jupyterlab-setting @@ -0,0 +1,10 @@ +{ + "enable": true, + "refreshRate": 2500, + "memory": { + "label": "Mem: " + }, + "cpu": { + "label": "CPU: " + } +} diff --git a/keras3-gpu/Dockerfile b/keras3-gpu/Dockerfile index 341312f9c2af4f3af94da1b03b6db1d3045aa55e..0c25dade3ffa52411a4d87a3575013c3fa5d0b8e 100644 --- a/keras3-gpu/Dockerfile +++ b/keras3-gpu/Dockerfile @@ -1,5 +1,6 @@ # syntax=docker/dockerfile:1 +# tensorflow-notebook:cuda-latest installs tensorflow[and-cuda] from PyPI FROM quay.io/jupyter/tensorflow-notebook:cuda-latest AS build # fix: https://github.com/hadolint/hadolint/wiki/DL4006 @@ -9,7 +10,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] USER root # install code-server and extensions -ENV CODE_VERSION=4.91.0 +ENV CODE_VERSION=4.93.1 RUN wget --no-hsts -q https://github.com/coder/code-server/releases/download/v$CODE_VERSION/code-server_${CODE_VERSION}_amd64.deb && \ dpkg -i code-server_${CODE_VERSION}_amd64.deb && \ rm -f code-server_${CODE_VERSION}_amd64.deb && \ @@ -31,7 +32,7 @@ RUN wget --no-hsts -q -O vscode_cli.tar.gz 'https://code.visualstudio.com/sha/do # install some packages USER ${NB_UID} -RUN mamba install --yes --no-update-deps \ +RUN mamba install --yes \ # umap + hdbscan 'umap-learn' \ 'hdbscan' \ @@ -70,10 +71,9 @@ RUN mamba install --yes --no-update-deps \ # some improvements of jupyterlab 'jupyterlab_execute_time' \ 'jupyter-archive' \ - # 'jupyterlab-system-monitor' disabled, since not yet available for JupyterLab 4 - 'jupyter-resource-usage' && \ + 'jupyter-resource-usage' \ # install opencv via fastai, headless version not available in conda-forge - mamba install --quiet --yes --no-update-deps -c fastai 'opencv-python-headless' && \ + 'fastai::opencv-python-headless' && \ printf '%s\n' \ "" \ "# track CPU usage, prevent known bug with prometheus, set default limits if not set by MEM_LIMIT and CPU_LIMIT" \ @@ -145,7 +145,7 @@ LABEL org.opencontainers.image.revision=$LABEL_REVISION LABEL org.opencontainers.image.vendor="UAS Bochum" LABEL org.opencontainers.image.licenses=BSD-3-Clause LABEL org.opencontainers.image.title="Jupyter Notebook Keras 3 GPU image" -LABEL org.opencontainers.image.description="This image includes TensorFlow ${TF_VERSION} and Keras 3 with GPU support, VS Code CLI, code-server and nbgitpuller." +LABEL org.opencontainers.image.description="This image includes TensorFlow and Keras 3 with GPU support, VS Code CLI, code-server and nbgitpuller." LABEL org.opencontainers.image.base.name=quay.io/jupyter/tensorflow-notebook:cuda-latest # switch back to jovyan to avoid accidental container runs as root diff --git a/tensorflow-cpu-with-vscode/Dockerfile b/tensorflow-cpu-with-vscode/Dockerfile index b3b05bed5dc3ce79bc8f1903b9d31e6841242346..38b0c43b167203fd6c1d834fde6713ecfc4a97ea 100644 --- a/tensorflow-cpu-with-vscode/Dockerfile +++ b/tensorflow-cpu-with-vscode/Dockerfile @@ -56,7 +56,7 @@ RUN mamba install --yes --no-update-deps \ USER root # install code-server and extensions -ENV CODE_VERSION=4.91.0 +ENV CODE_VERSION=4.93.1 RUN wget --no-hsts -q https://github.com/coder/code-server/releases/download/v$CODE_VERSION/code-server_${CODE_VERSION}_amd64.deb && \ dpkg -i code-server_${CODE_VERSION}_amd64.deb && \ rm -f code-server_${CODE_VERSION}_amd64.deb && \ @@ -106,7 +106,6 @@ RUN mamba install --yes --no-update-deps \ 'jupyterlab_execute_time' \ 'jupyter-archive' \ 'jupyterlab-git' \ - # 'jupyterlab-system-monitor' disabled, since not yet available for JupyterLab 4 'jupyter-resource-usage' && \ printf '%s\n' \ "" \ diff --git a/tensorflow-gpu-with-vscode/Dockerfile b/tensorflow-gpu-with-vscode/Dockerfile index 2880ba9a88fa8492970676d63d8a0dc212480350..295da2233f9883286a41f7dd03c4b6d4816e07a4 100644 --- a/tensorflow-gpu-with-vscode/Dockerfile +++ b/tensorflow-gpu-with-vscode/Dockerfile @@ -9,7 +9,7 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] USER root # install code-server and extensions -ENV CODE_VERSION=4.91.0 +ENV CODE_VERSION=4.93.1 RUN wget --no-hsts -q https://github.com/coder/code-server/releases/download/v$CODE_VERSION/code-server_${CODE_VERSION}_amd64.deb && \ dpkg -i code-server_${CODE_VERSION}_amd64.deb && \ rm -f code-server_${CODE_VERSION}_amd64.deb && \ @@ -31,7 +31,7 @@ RUN wget --no-hsts -q -O vscode_cli.tar.gz 'https://code.visualstudio.com/sha/do # install some packages USER ${NB_UID} -RUN mamba install --yes --no-update-deps \ +RUN mamba install --yes \ # umap + hdbscan 'umap-learn' \ 'hdbscan' \ @@ -71,7 +71,6 @@ RUN mamba install --yes --no-update-deps \ # some improvements of jupyterlab 'jupyterlab_execute_time' \ 'jupyter-archive' \ - # 'jupyterlab-system-monitor' disabled, since not yet available for JupyterLab 4 'jupyter-resource-usage' && \ # install opencv via fastai, headless version not available in conda-forge mamba install --quiet --yes --no-update-deps -c fastai 'opencv-python-headless' && \