Commit Graph

157 Commits

Author SHA1 Message Date
Peter Parente
ede5987507 Update to latest conda patch release
But stick with the same major and minor as the base miniconda installer
2018-06-21 21:45:20 -04:00
Darek
6c89a9fc12 Bumped Ubuntu and conda to the current version 2018-06-13 14:38:13 +00:00
Min RK
d65fa651e0 bump some packages
- notebook 5.5
- matplotlib 2.2
- pandas 0.23
- scipy 1.1
- scikit-image 0.14
- statsmodels 0.9
2018-06-07 10:57:39 +02:00
Graham Dumpleton
47e120db74 Restrict su to users in group wheel so can't be used when run as random uid not in passwd file. 2018-06-07 10:02:31 +10:00
Graham Dumpleton
fce599596e Remove writable group file due to issues with being able to give su access when shouldn't be allowed. 2018-06-06 14:21:03 +10:00
Gurvinder Singh
3c0220cf17 upgrade tini to latest version 0.18.0 and also added the option to send signal to all child group processes as mentioned in docs
https://github.com/krallin/tini#process-group-killing
2018-06-04 16:49:25 +02:00
Peter Parente
0f73f7488f Merge pull request #650 from parente/more-docs
Document missing container options
2018-06-02 22:43:02 -04:00
Peter Parente
b62c7170c6 Fix some whitespace and quoting 2018-06-02 16:55:29 -04:00
Braden Pellett
ac04480084 Upgrade Ubuntu to latest LTS (Bionic 18.04)
Upgrade Ubuntu to latest LTS (Bionic 18.04), including:
- Change the IMAGE used for base-notebook;
- Keep Mesos install from Mesosphere's Xenial repository, since they
  don't yet have a Bionic repository;
- gnupg needs to be installed for apt-key to work;
- --force-yes option to apt-get has been removed;
- Package libav-tools is replaced by ffmpeg;
- Update Let's Encrypt example script to use 18.04.
2018-06-01 13:03:12 -07:00
John Kirkham
8b3661bea7 Upgrade to conda 4.5.4 2018-05-28 11:51:44 -07:00
John Kirkham
4cac637ed8 Upgrade to Miniconda 4.5.1 2018-05-28 11:51:43 -07:00
Peter Parente
2b33e23bb7 Make RTD the doc source of truth 2018-05-20 16:15:06 -04:00
Peter Parente
d29a0f6174 Merge pull request #633 from cam72cam/patch-2
Don't chown -R a user's home directory
2018-05-19 12:49:01 -04:00
Christian Mesh
e10d80d9cf Add the ability to specify chown arguments for both home and extra
If people have a use case for recursive chowns that's fine.  I think it's dangerous for people to use, but that's tailored to my use case.
2018-05-16 15:45:51 -04:00
Christian Mesh
dee887e6f9 Add CHOWN_EXTRA support
CHOWN_EXTRA is a comma separated list of directories to chown.
2018-05-15 11:13:55 -04:00
Masaru Nagaku
b81dad5ee8 send2trash not work
https://github.com/jupyter/notebook/issues/3130
Now, files not delete on https://hub.docker.com/r/jupyter/base-notebook/ and derived container images.
2018-05-08 20:16:49 +09:00
Christian Mesh
62360a7eff Don't chown -R a user's home directory
Only the top level permissions are set wrong due to kubernetes not being able to do this automatically.

This hits significant problems when the chown takes more than 30s and the pod fails to start
2018-05-07 14:46:18 -04:00
Peter Parente
9e52e6499d Update miniconda installer to 4.4 2018-04-30 22:05:26 -04:00
Tom Jorquera
a5d350fb0f Update jupyterlab and extensions
Update jupyterlab from 0.31 to 0.32.

Update the following extensions to matching versions:
- jupyterlab/hub-extension
- jupyter-widget/jupyterlab-manager
- jupyterlab_bokeh
2018-04-27 11:39:08 +02:00
Peter Parente
54623ca187 Force npm cache clean 2018-04-23 21:51:04 -04:00
Chris Ottinger
44d010e929 in start.sh ensure usename jovyan exists before attempting usermod 2018-04-13 15:56:46 +10:00
Peter Parente
d452f4e468 Remove tornado<5 pin 2018-04-07 22:26:30 -04:00
Chia-liang Kao
632ce8c2d2 Run additional scripts in /usr/local/bin/start-notebook.d/ 2018-03-29 16:26:20 +08:00
Chia-liang Kao
d7e3817af5 base image on ubuntu:xenial-20180228 2018-03-26 09:27:20 +08:00
Peter Parente
981f6e402d Notebook 5.4, force tornado 4.* at the outset 2018-03-19 08:41:56 -04:00
Joachim Jablon
3c61b079c2 Chown of home dir needs to be recursive 2018-03-09 19:01:41 +01:00
Graham Dumpleton
c545886d76 Add entries to passwd/group if running as user not in passwd file. 2018-02-20 19:17:55 +11:00
Aaron Vinson
ead1caecfa improve secure_path modification by storing in sudoers.d 2018-02-17 00:15:06 -08:00
Graham Dumpleton
f4bf2ba525 Merge branch 'master' of github.com:jupyter/docker-stacks into writable-home-directory 2018-02-17 11:33:31 +11:00
Graham Dumpleton
4d32b2182e Ensure anything under $HOME is always writable to group. 2018-02-17 11:31:55 +11:00
Graham Dumpleton
770007bb10 Use NB_UID for USER statement in Dockerfile so deployment platform can verify that image doesn't run as root. 2018-02-15 11:11:32 +11:00
Peter Parente
c54800018c Merge pull request #545 from chriszs/lab-31
Upgrade to the first JupyterLab beta v0.31
2018-02-04 14:28:34 -05:00
Chris Zubak-Skees
27cf7035ec Fix to check dict status code response in test_container_options 2018-02-04 13:01:28 -05:00
Chris Zubak-Skees
7c68f9cd4a Upgrade to the first JupyterLab beta v0.31 2018-02-04 00:41:30 -05:00
Bidek56
d28657d7b9 Added PYTHONPATH to sudo 2018-02-03 16:43:16 -05:00
Peter Parente
9089b66a98 Merge pull request #539 from clkao/jupterhub-lab
jupyterhub-lab support will be enabled if $JUPYTER_ENABLE_LAB is set.
2018-01-31 21:49:37 -05:00
Christian Mesh
272476e2d7 Gate chown /home/$NB_USER behind $CHOWN_HOME 2018-01-31 09:05:01 -05:00
Christian Mesh
b4d2d6f583 Support provisioned storage with incorrect permissions
I ran into an issue when trying to get this to work with a NFS server which I did not have direct control over (EFS).  As part of the PersistentVolumeClaim, there is no easy way to set the UID and GID of the created directory.on the networked FS.

My only concern with this chown is that some user out there might be running jupyterhub in an odd configuration where $NB_USER is not supposed to have these exact permissions on the storage.  I think this is quite unlikely, but it is worth mentioning. 

I chronicled my experiences with working around this issue and setting up z2jh on EFS in https://github.com/jupyterhub/zero-to-jupyterhub-k8s/issues/421 with @yuvipanda.
2018-01-31 08:51:52 -05:00
Chia-liang Kao
94657c2616 rework to use JUPYTER_ENABLE_LAB for both notebook and hub 2018-01-31 01:16:49 +08:00
Chia-liang Kao
ec2f79487f Enable jupyterhub-lab support. 2018-01-28 16:26:19 +08:00
Bonnotte, Nicolas
c6c6819a6e Add /bin to sudo secure_path 2018-01-18 17:51:06 +01:00
Peter Parente
a3cfda28da Verify path prefix in test 2018-01-04 22:51:16 -05:00
Peter Parente
6fa67cc500 Append $CONDA_DIR/bin to sudo secure_path
Retain behavior when su was used instead
2018-01-04 00:09:07 -05:00
Peter Parente
fb01654930 Fix test to use bash for multiple commands 2017-12-29 19:37:07 -05:00
Peter Parente
c560907ea3 Fix missing env vars (inc. PATH) in some cases
* Refactor to use sudo to become jovyna when the
  container starts as root
* Retain all environment variables when becoming
  jovyan
* Handle start.sh without additional commands when
  launching a container as NB_USER too
2017-12-29 19:22:42 -05:00
Troels Schwarz-Linnet
0766b5f005 This is to fix running SUDO as eihter the jovyan user or root.
Please refer to alias, in bottom of commit.

> dbn
Execute the command: jupyter notebook

> dbn bash
jovyan@eedcc93a837d:~$

> dbn start.sh
Execute the command:
exit

> dbnr
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Execute the command: jupyter notebook
Running as root is not recommended. Use --allow-root to bypass.
exit

> dbnr bash
root@893cb78b8c9c:~#

> dbnr start.sh
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Execute the command:
No arguments supplied
HOSTNAME=d45c52e788b7
TERM=xterm
SHELL=/bin/bash
NB_USER=jovyan
LC_ALL=en_US.UTF-8
PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
_=/usr/bin/env
MINICONDA_VERSION=4.3.30
PWD=/home/jovyan
LANG=en_US.UTF-8
HOME=/home/jovyan
SHLVL=2
LANGUAGE=en_US.UTF-8
no_proxy=*.local, 169.254/16
DEBIAN_FRONTEND=noninteractive
CONDA_DIR=/opt/conda
NB_GID=100
NB_UID=1000
root@d45c52e788b7:~#

> dbnrs
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command: jupyter notebook
Copy/paste this URL into your browser when you connect for the first time, ....

> dbnrs bash
root@f293dce949db:~#

> dbnrs start.sh
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command:
No arguments supplied
HOSTNAME=d0cd57ea32e2
SHELL=/bin/bash
TERM=xterm
LC_ALL=en_US.UTF-8
USER=jovyan
SUDO_USER=root
SUDO_UID=0
USERNAME=jovyan
MAIL=/var/mail/jovyan
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
PWD=/home/jovyan
LANG=en_US.UTF-8
SHLVL=1
SUDO_COMMAND=/bin/bash -c env; PATH=$PATH; bash
HOME=/home/jovyan
LANGUAGE=en_US.UTF-8
LOGNAME=jovyan
SUDO_GID=0
_=/usr/bin/env
jovyan@d0cd57ea32e2:~$

> dbns
Container must be run as root to grant sudo permissions
Execute the command: jupyter notebook
Copy/paste this URL in..

> dbns bash
jovyan@ce5c2491fa32:~$

> dbns start.sh
Container must be run as root to grant sudo permissions
Execute the command:
exit

###### Build user setup
docker build -t $USER/base-notebook -f Dockerfile .

# Normal, dbn: docker-base-notebook
alias dbn='docker run -ti --rm -p 8888:8888 -v "$PWD":/home/jovyan/work --name base-notebook $USER/base-notebook'
# Root, dbnr: dbn with root
alias dbnr='docker run -ti --rm -p 8888:8888 --user root -v "$PWD":/home/jovyan/work --name base-notebook $USER/base-notebook'
# Jovyan SUDO, dbnr: dbn with SUDO for jovyan
alias dbnrs='docker run -ti --rm -p 8888:8888 --user root -e GRANT_SUDO=yes -v "$PWD":/home/jovyan/work --name base-notebook $USER/base-notebook'
# Root, fail to sudo for jovyan.
alias dbns='docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes -v "$PWD":/home/jovyan/work --name base-notebook $USER/base-notebook'
2017-12-29 11:38:53 -05:00
Troels Schwarz-Linnet
412a17b884 Fix for granting SUDO to jovyan user and run bash commands.
Test image builded with:
> docker build -t $USER/base-notebook -f Dockerfile .

> docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root jupyter/base-notebook:033056e6d164 bash
root@84db8819258d:~#

docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root $USER/base-notebook bash
> root@c23f1fd7d279:~#

> docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root jupyter/base-notebook:033056e6d164 start.sh
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command:
HOSTNAME=a231202e6d1a
TERM=xterm
SHELL=/bin/bash
NB_USER=jovyan
LC_ALL=en_US.UTF-8
USER=jovyan
MAIL=/var/mail/jovyan
PATH=/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MINICONDA_VERSION=4.3.30
PWD=/home/jovyan
LANG=en_US.UTF-8
GRANT_SUDO=yes
HOME=/home/jovyan
SHLVL=1
LANGUAGE=en_US.UTF-8
no_proxy=*.local, 169.254/16
LOGNAME=jovyan
DEBIAN_FRONTEND=noninteractive
CONDA_DIR=/opt/conda
NB_GID=100
NB_UID=1000
_=/usr/bin/env
tlinnet@linmac:base-notebook$

> docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root $USER/base-notebook start.sh
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command:
No arguments supplied
HOSTNAME=364e5fc77224
SHELL=/bin/bash
TERM=xterm
LC_ALL=en_US.UTF-8
USER=jovyan
SUDO_USER=root
SUDO_UID=0
USERNAME=jovyan
MAIL=/var/mail/jovyan
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
PWD=/home/jovyan
LANG=en_US.UTF-8
SHLVL=1
SUDO_COMMAND=/bin/bash -c env; PATH=$PATH; bash
HOME=/home/jovyan
LANGUAGE=en_US.UTF-8
LOGNAME=jovyan
SUDO_GID=0
_=/usr/bin/env
jovyan@364e5fc77224:~$

> docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root jupyter/base-notebook:033056e6d164 start.sh echo hello
tlinnet@linmac:base-notebook$ docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root jupyter/base-notebook:033056e6d164 start.sh echo hello
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command: echo hello
hello
tlinnet@linmac:base-notebook$

> docker run -ti --rm -p 8888:8888 -e GRANT_SUDO=yes --user root $USER/base-notebook start.sh echo hello
Set username to: jovyan
usermod: no changes
Set jovyan GID to: 100
Granting jovyan sudo access
Execute the command: echo hello
hello
tlinnet@linmac:base-notebook$
2017-12-29 11:38:53 -05:00
Peter Parente
706194f7c0 Update jupyterlab hub ext to 0.7.0 2017-12-17 12:03:58 -05:00
Peter Parente
b45fe72323 Updating jupyterlab to 0.30.* 2017-12-17 11:41:19 -05:00
Peter Parente
240285841a Remove mount permissions test
Not really testing a docker-stacks feature, only
that docker host permissions work
2017-12-16 23:03:26 -05:00