ufoym / deepo

Setup and customize deep learning environment in seconds.
http://ufoym.com/deepo
MIT License
6.32k stars 749 forks source link

Change `jupyter notebook` README example to `jupyter lab`? #147

Closed josephrocca closed 2 years ago

josephrocca commented 3 years ago

In the jupyter/docker-stacks repo it is mentioned (here) that Jupyter Notebook is deprecated. Wondering would it make sense to move change the README's jupyter notebook example to jupyter lab?

The ufoym/deepo:all-py36-cu111 image already has jupyterlab, but it looks like a lot of the others would need to have it added?

The existing command in the README seems to work fine if you just swap out jupyter notebook with jupyter lab. I've hackily added some stuff to add a user that matches the host username so that the files that jupyter lab creates are owned by my user instead of root:

docker run --rm --gpus all -it -p 8888:8888 -v /home/joe/jupyter:/home/$(whoami) --ipc=host ufoym/deepo:all-py36-cu111 sh -c "useradd -m -s /bin/bash $(whoami) && usermod -a -G sudo $(whoami) && su - $(whoami) -c \"jupyter lab --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/home/$(whoami)'\""

There's probably a much better way of doing that, but that's what I've hacked together just now with my limited docker/linux skills 😅 I did try something like:

docker run -u $(id -u):$(id -g) --rm --gpus all -it -p 8888:8888 -v /home/joe/jupyter:/root --ipc=host ufoym/deepo:all-py36-cu111 jupyter lab --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/root'

But I got [Errno 13] Permission denied: '/.local' and didn't investigate too much further.

ufoym commented 2 years ago

Wondering would it make sense to move change the README's jupyter notebook example to jupyter lab?

Great idea!

I've hackily added some stuff to add a user that matches the host username so that the files that jupyter lab creates are owned by my user instead of root:

Good idea as well for your scenario. However, we are not sure if it is suitable for general usage.