diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-02-28 14:46:07 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2019-02-28 14:46:07 -0500 |
commit | 8c37ac76900b06794d99e2a7124af21b8093d7fe (patch) | |
tree | 6acd8189d73e78f4cf16b9390f88135472fb6e00 /Dockerfile | |
parent | c4ec0592116720e53dfb8b2e327a2bf223701105 (diff) | |
download | docker-pipeline-nb-8c37ac76900b06794d99e2a7124af21b8093d7fe.tar.gz |
Tack Jupyter scripts on top
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 44 |
1 files changed, 42 insertions, 2 deletions
@@ -4,21 +4,61 @@ FROM ${HUB}/datb-tc-pipeline:${PIPELINE} LABEL maintainer="jhunk@stsci.edu" \ vendor="Space Telescope Science Institute" +ARG NB_USER="jovyan" +ARG NB_UID="1100" +ARG NB_GID="110" + +USER root WORKDIR "${TOOLCHAIN_BUILD}" COPY scripts/build.sh ${TOOLCHAIN_BUILD}/bin/ COPY etc/ ${TOOLCHAIN_BUILD}/etc +ENV NB_USER="${NB_USER}" \ + NB_UID="${NB_UID}" \ + NB_GID="${NB_GID}" \ + LC_ALL=en_US.UTF-8 \ + LANG=en_US.UTF-8 \ + LANGUAGE=en_US.UTF-8 +ENV NB_HOME="/home/${NB_USER}" + +ADD scripts/fix-permissions /usr/local/bin/fix-permissions +# Create jovyan user with UID=1100 and in the 'users' group +# and make sure these dirs are writable by the `users` group. +RUN echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su && \ + useradd -m -s /bin/bash -N -u $NB_UID $NB_USER && \ + chmod g+w /etc/passwd && \ + fix-permissions $NB_HOME && \ + echo "root ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/rewt + +# Begin toolchain image-specific steps USER "${USER_ACCT}" RUN sudo chown -R ${USER_ACCT}: ${TOOLCHAIN_BUILD} \ && bin/build.sh \ && sudo rm -rf "${TOOLCHAIN_BUILD}" +# Begin jupyterhub specific steps +ENV HOME="${NB_HOME}" +USER "${NB_UID}" + +# Setup work directory for backward-compatibility +RUN mkdir /home/$NB_USER/work && \ + fix-permissions /home/$NB_USER && \ + jupyter notebook --generate-config + USER root EXPOSE 8888 +WORKDIR "${HOME}" + ENTRYPOINT ["tini", "-g", "--"] -CMD ["start.sh"] +CMD ["start-notebook.sh"] + +COPY scripts/start.sh /usr/local/bin/ +COPY scripts/start-notebook.sh /usr/local/bin/ +COPY scripts/start-singleuser.sh /usr/local/bin/ +COPY scripts/jupyter_notebook_config.py /etc/jupyter/ +RUN fix-permissions /etc/jupyter/ -COPY scripts/start.sh /usr/local/bin +USER "${NB_UID}" |