ADD file:513c5d5e501279c21a05c1d8b66e5f0b02ee4b27f0b928706d92fd9ce11c1be6 in / |
CMD ["bash"] |
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 bzip2 ca-certificates fonts-liberation locales wget sudo tini gcc make gnupg curl build-essential cm-super dvipng git nano tzdata unzip vim openssh-client less ffmpeg pandoc texlive-full build-essential cm-super dvipng ffmpeg && apt-get clean && rm -rf /var/lib/apt/lists/* && echo "en_US.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=en_US.UTF-8 LANG=en_US.UTF-8 LANGUAGE=en_US.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.sh /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 "$(command conda shell.bash hook 2> /dev/null)"' >> /etc/skel/.bashrc && echo "export PATH=${CONDA_DIR}/bin:\$PATH" >> /etc/skel/.bashrc # 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 --no-user-group -u "${NB_UID}" --shell /bin/bash "${NB_USER}" && mkdir -p "${CONDA_DIR}" && chown "${NB_USER}:${NB_GID}" "${CONDA_DIR}" && chmod g+w /etc/passwd && fix-permissions "${HOME}" && fix-permissions "${CONDA_DIR}" # buildkit |
USER 1000 |
ARG PYTHON_VERSION=3.10 |
COPY initial-condarc /opt/conda/.condarc # buildkit |
WORKDIR /tmp |
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/bash -o pipefail -c set -x && arch=$(uname -m) && if [ "${arch}" = "x86_64" ]; then arch="64"; fi && wget -qO /tmp/micromamba.tar.bz2 "https://micromamba.snakepit.net/api/micromamba/linux-${arch}/latest" && tar -xvjf /tmp/micromamba.tar.bz2 --strip-components=1 bin/micromamba && rm /tmp/micromamba.tar.bz2 && PYTHON_SPECIFIER="python=${PYTHON_VERSION}" && if [[ "${PYTHON_VERSION}" == "default" ]]; then PYTHON_SPECIFIER="python"; fi && ./micromamba install --root-prefix="${CONDA_DIR}" --prefix="${CONDA_DIR}" --yes "${PYTHON_SPECIFIER}" "mamba" "notebook" "jupyterhub" "jupyterlab" && rm micromamba && mamba list python | grep "^python " | tr -s " " | cut -d " " -f 1,2 >> "${CONDA_DIR}/conda-meta/pinned" && mamba clean --all -f -y && npm cache clean --force && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
EXPOSE map[8888/tcp:{}] |
ENTRYPOINT ["tini" "-g" "--"] |
CMD ["start-notebook.sh"] |
COPY start.sh start-notebook.sh start-singleuser.sh /usr/local/bin/ # buildkit |
COPY jupyter_server_config.py /etc/jupyter/ # buildkit |
COPY Rprofile.site /opt/conda/lib/R/etc/ # buildkit |
USER root |
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/bash -o pipefail -c mkdir "${HOME}/notebooks" && chown "${NB_UID}:${NB_GID}" "${HOME}/notebooks" && chmod u+rwx "${HOME}/notebooks" # buildkit |
VOLUME [/home/jovyan/notebooks] |
RUN |4 NB_USER=jovyan NB_UID=1000 NB_GID=100 PYTHON_VERSION=3.10 /bin/bash -o pipefail -c mkdir -p "${HOME}/.jupyter" && chown "${NB_UID}:${NB_GID}" "${HOME}/.jupyter" && chmod u+rwx "${HOME}/.jupyter" # buildkit |
VOLUME [/home/jovyan/.jupyter] |
HEALTHCHECK &{["CMD-SHELL" "wget -O- --no-verbose --tries=1 --no-check-certificate \thttp${GEN_CERT:+s}://localhost:8888${JUPYTERHUB_SERVICE_PREFIX:-/}api || exit 1"] "15s" "3s" "5s" '\x03'} |
USER 1000 |
WORKDIR /home/jovyan |
LABEL maintainer=Mark <mark@betalupi.com> |
USER root |
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends octave gnuplot && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
USER 1000 |
RUN /bin/bash -o pipefail -c mamba install --quiet --yes "octave_kernel" && mamba clean --all -f -y && npm cache clean --force && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
USER 1000 |
LABEL maintainer=Mark <mark@betalupi.com> |
USER root |
RUN /bin/bash -o pipefail -c apt-get update --yes && apt-get install --yes --no-install-recommends fonts-dejavu unixodbc unixodbc-dev r-cran-rodbc gfortran gcc && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
USER 1000 |
RUN /bin/bash -o pipefail -c mamba install --quiet --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-tidyverse" "unixodbc" && mamba clean --all -f -y && npm cache clean --force && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
RUN /bin/bash -o pipefail -c set -x && arch=$(uname -m) && if [ "${arch}" == "x86_64" ]; then mamba install --quiet --yes "rpy2" "r-tidymodels" && mamba clean --all -f -y && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}"; fi; # buildkit |
USER 1000 |
LABEL maintainer=Mark <mark@betalupi.com> |
ENV JULIA_DEPOT_PATH=/opt/julia |
ENV JULIA_PKGDIR=/opt/julia |
ENV JULIA_VERSION=1.4.1 |
USER root |
WORKDIR /tmp |
RUN /bin/bash -o pipefail -c mkdir "/opt/julia-${JULIA_VERSION}" && wget -q https://julialang-s3.julialang.org/bin/linux/x64/$(echo "${JULIA_VERSION}" | cut -d. -f 1,2)"/julia-${JULIA_VERSION}-linux-x86_64.tar.gz" && echo "fd6d8cadaed678174c3caefb92207a3b0e8da9f926af6703fb4d1e4e4f50610a *julia-${JULIA_VERSION}-linux-x86_64.tar.gz" | sha256sum -c - && tar xzf "julia-${JULIA_VERSION}-linux-x86_64.tar.gz" -C "/opt/julia-${JULIA_VERSION}" --strip-components=1 && rm "/tmp/julia-${JULIA_VERSION}-linux-x86_64.tar.gz" # buildkit |
RUN /bin/bash -o pipefail -c ln -fs /opt/julia-*/bin/julia /usr/local/bin/julia # buildkit |
RUN /bin/bash -o pipefail -c mkdir /etc/julia && echo "push!(Libdl.DL_LOAD_PATH, \"$CONDA_DIR/lib\")" >> /etc/julia/juliarc.jl && mkdir "${JULIA_PKGDIR}" && chown "${NB_USER}" "${JULIA_PKGDIR}" && fix-permissions "${JULIA_PKGDIR}" # buildkit |
USER 1000 |
RUN /bin/bash -o pipefail -c julia -e 'import Pkg; Pkg.update()' && (test $TEST_ONLY_BUILD || julia -e 'import Pkg; Pkg.add("HDF5")') && julia -e "using Pkg; pkg\"add IJulia\"; pkg\"precompile\"" && mv "${HOME}/.local/share/jupyter/kernels/julia"* "${CONDA_DIR}/share/jupyter/kernels/" && chmod -R go+rx "${CONDA_DIR}/share/jupyter" && rm -rf "${HOME}/.local" && fix-permissions "${JULIA_PKGDIR}" "${CONDA_DIR}/share/jupyter" # buildkit |
WORKDIR /home/jovyan |
LABEL maintainer=Mark <mark@betalupi.com> |
USER 1000 |
RUN /bin/bash -o pipefail -c mamba install --yes "jupyterlab-git" && mamba clean --all -f -y && npm cache clean --force && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
LABEL maintainer=Mark <mark@betalupi.com> |
USER 1000 |
RUN /bin/bash -o pipefail -c mamba install --yes "jupyter_server>=2.0.0" "beautifulsoup4" "requests" "schedule" "scikit-image" "scikit-learn" "scipy" "seaborn" "pandas" "matplotlib-base" "numpy" "sympy" "altair" "bokeh" "bottleneck" "cloudpickle" "conda-forge::blas=*=openblas" "cython" "dask" "dill" "h5py" "ipympl" "ipywidgets" "numba" "numexpr" "patsy" "protobuf" "pytables" "sqlalchemy" "statsmodels" "widgetsnbextension" "xlrd" "pytest" "ipython" && mamba clean --all -f -y && npm cache clean --force && jupyter lab clean && rm -rf "/home/${NB_USER}/.cache/yarn" && fix-permissions "${CONDA_DIR}" && fix-permissions "/home/${NB_USER}" # buildkit |
ENV XDG_CACHE_HOME=/home/jovyan/.cache/ |
RUN /bin/bash -o pipefail -c MPLBACKEND=Agg python -c "import matplotlib.pyplot" && fix-permissions "/home/${NB_USER}" # buildkit |