cyper-jupyter (c710e82f042c2a31d053b0f0a25116e38d60da0b)

Published 2026-08-01 10:40:57 +02:00 by DerGrumpf in DerGrumpf/cyper-jupyter

Installation

docker pull git.cyperpunk.de/dergrumpf/cyper-jupyter:c710e82f042c2a31d053b0f0a25116e38d60da0b
sha256:2ab2668544aa6afce10b7f74c47457e9feb21872d9c4e2bc071b2b7c691253ed

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:8ce1caf246e7c778bca84c516d02fd4e83766bb2c530a0fffa8a351b560a2728 in /
CMD ["/bin/bash"]
LABEL maintainer=Jupyter Project <jupyter@googlegroups.com>
ARG NB_USER=jovyan
ARG NB_UID=1000
ARG NB_GID=100
SHELL [/bin/bash -o pipefail -c]
USER root
ENV DEBIAN_FRONTEND=noninteractive
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c apt-get update --yes && apt-get upgrade --yes && apt-get install --yes --no-install-recommends ca-certificates locales netbase sudo tini wget && apt-get clean && rm -rf /var/lib/apt/lists/* && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && echo "C.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen # buildkit
ENV CONDA_DIR=/opt/conda SHELL=/bin/bash NB_USER=jovyan NB_UID=1000 NB_GID=100 LC_ALL=C.UTF-8 LANG=C.UTF-8 LANGUAGE=C.UTF-8
ENV PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOME=/home/jovyan
COPY fix-permissions /usr/local/bin/fix-permissions # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c chmod a+rx /usr/local/bin/fix-permissions # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c sed -i 's/^#force_color_prompt=yes/force_color_prompt=yes/' /etc/skel/.bashrc && echo 'eval "$(conda shell.bash hook)"' >> /etc/skel/.bashrc # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c if id -un "${NB_UID}" &>/dev/null; then userdel --remove "$(id -un "${NB_UID}")"; fi # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c echo "auth requisite pam_deny.so" >> /etc/pam.d/su && sed -i.bak -e 's/^%admin/#%admin/' /etc/sudoers && sed -i.bak -e 's/^%sudo/#%sudo/' /etc/sudoers && useradd --no-log-init --create-home --shell /bin/bash --uid "${NB_UID}" --no-user-group "${NB_USER}" && mkdir -p "${CONDA_DIR}" && chown "${NB_USER}:${NB_GID}" "${CONDA_DIR}" && chmod g+w /etc/passwd && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/" && mkdir -p "/home/${NB_USER}/.cache" && chown "${NB_USER}:${NB_GID}" "/home/${NB_USER}/.cache" # buildkit
RUN |3 NB_USER=jovyan NB_UID=1000 NB_GID=100 /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
ARG PYTHON_VERSION=3.13
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.13 /bin/bash -o pipefail -c mkdir "/home/${NB_USER}/work" && fix-permissions "/home/${NB_USER}" # buildkit
COPY --chown=1000:100 initial-condarc /opt/conda/.condarc # buildkit
WORKDIR /tmp
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.13 /bin/bash -o pipefail -c set -x && PYTHON_SPECIFIER="python=${PYTHON_VERSION}" && if [[ "${PYTHON_VERSION}" == "default" ]]; then PYTHON_SPECIFIER="python"; fi && micromamba install --root-prefix="${CONDA_DIR}" --prefix="${CONDA_DIR}" --yes 'jupyter_core' 'conda' 'mamba' "${PYTHON_SPECIFIER}" && mamba list --full-name 'python' | awk 'END{sub("[^.]*$", "*", $2); print $1 " " $2}' >> "${CONDA_DIR}/conda-meta/pinned" && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
COPY _docker_stacks_log.sh run-hooks.sh start.sh /usr/local/bin/ # buildkit
ENTRYPOINT ["tini" "-g" "--" "start.sh"]
USER root
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.13 /bin/bash -o pipefail -c mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d # buildkit
COPY 10activate-conda-env.sh /usr/local/bin/before-notebook.d/ # buildkit
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.13 /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
WORKDIR /home/jovyan
LABEL maintainer=Jupyter Project <jupyter@googlegroups.com>
SHELL [/bin/bash -o pipefail -c]
USER root
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends fonts-liberation pandoc run-one && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
WORKDIR /tmp
RUN /bin/bash -o pipefail -c mamba install --yes 'jupyterhub-singleuser' 'jupyterlab' 'nbclassic' 'notebook>=7.2.2' && jupyter server --generate-config && mamba clean --all -f -y && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
ENV JUPYTER_PORT=8888
EXPOSE [8888/tcp]
CMD ["start-notebook.py"]
COPY start-notebook.py start-notebook.sh start-singleuser.py start-singleuser.sh /usr/local/bin/ # buildkit
COPY jupyter_server_config.py docker_healthcheck.py /etc/jupyter/ # buildkit
USER root
RUN /bin/bash -o pipefail -c fix-permissions /etc/jupyter/ # buildkit
HEALTHCHECK {Test:[CMD-SHELL /etc/jupyter/docker_healthcheck.py || exit 1] Interval:3s Timeout:1s StartPeriod:3s StartInterval:0s Retries:3}
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
WORKDIR /home/jovyan
LABEL maintainer=Jupyter Project <jupyter@googlegroups.com>
SHELL [/bin/bash -o pipefail -c]
USER root
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends curl git nano-tiny tzdata unzip vim-tiny openssh-client less texlive-xetex texlive-fonts-recommended texlive-plain-generic xclip && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/bash -o pipefail -c update-alternatives --install /usr/bin/nano nano /bin/nano-tiny 10 # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
COPY --chown=1000:100 Rprofile.site /opt/conda/lib/R/etc/ # buildkit
COPY setup-scripts/ /opt/setup-scripts/ # buildkit
LABEL maintainer=Jupyter Project <jupyter@googlegroups.com>
SHELL [/bin/bash -o pipefail -c]
USER root
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends build-essential cm-super dvipng ffmpeg && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
RUN /bin/bash -o pipefail -c mamba install --yes 'altair' 'beautifulsoup4' 'bokeh' 'bottleneck' 'cloudpickle' 'conda-forge::blas=*=openblas' 'cython' 'dask' 'dill' 'h5py' 'ipympl' 'ipywidgets' 'jupyterlab-git' 'matplotlib-base' 'numba' 'numexpr' 'openpyxl' 'pandas' 'patsy' 'protobuf' 'pytables' 'scikit-image' 'scikit-learn' 'scipy' 'seaborn' 'sqlalchemy' 'statsmodels' 'sympy' 'widgetsnbextension' 'xlrd' && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
RUN /bin/bash -o pipefail -c MPLBACKEND=Agg python -c "import matplotlib.pyplot" && fix-permissions "/home/${NB_USER}" # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
WORKDIR /home/jovyan
LABEL maintainer=Jupyter Project <jupyter@googlegroups.com>
SHELL [/bin/bash -o pipefail -c]
USER root
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends fonts-dejavu gfortran gcc && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit
ENV JULIA_DEPOT_PATH=/opt/julia JULIA_PKGDIR=/opt/julia
RUN /bin/bash -o pipefail -c /opt/setup-scripts/setup_julia.py # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER 1000
RUN /bin/bash -o pipefail -c /opt/setup-scripts/setup-julia-packages.bash # buildkit
RUN /bin/bash -o pipefail -c mamba install --yes 'r-base' 'r-caret' 'r-crayon' 'r-devtools' 'r-e1071' 'r-forecast' 'r-hexbin' 'r-htmltools' 'r-htmlwidgets' 'r-irkernel' 'r-nycflights13' 'r-randomforest' 'r-rcurl' 'r-rmarkdown' 'r-rodbc' 'r-rsqlite' 'r-shiny' 'r-tidymodels' 'r-tidyverse' 'rpy2' 'unixodbc' && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit
RUN /bin/bash -o pipefail -c rm -rf "/home/${NB_USER}/.cache/rosetta" # buildkit
USER root
RUN /bin/bash -o pipefail -c apt-get update && apt-get install -y --no-install-recommends build-essential pkg-config libcairo2-dev libpango1.0-dev ffmpeg texlive texlive-latex-extra && rm -rf /var/lib/apt/lists/* # buildkit
COPY requirements.txt /tmp/requirements.txt # buildkit
RUN /bin/bash -o pipefail -c pip install --no-cache-dir -r /tmp/requirements.txt && pip install --no-cache-dir catppuccin-jupyterlab "catppuccin[pygments]" # buildkit
RUN /bin/bash -o pipefail -c jupyter labextension enable @jupyter/nbgrader:create-assignment # buildkit
COPY overrides.json /opt/conda/share/jupyter/lab/settings/overrides.json # buildkit
COPY startup/00-catppuccin.py /opt/conda/etc/ipython/startup/00-catppuccin.py # buildkit
RUN /bin/bash -o pipefail -c fix-permissions /opt/conda/share/jupyter/lab/settings && fix-permissions /opt/conda/etc/ipython # buildkit
USER 1000

Labels

Key Value
maintainer Jupyter Project <jupyter@googlegroups.com>
org.opencontainers.image.version 24.04
Details
Container
2026-08-01 10:40:57 +02:00
0
OCI / Docker
linux/amd64
2.6 GiB
Versions (8) View all