diff --git a/Dockerfile_jupyterhub b/Dockerfile_jupyterhub index 8b1d63a78236045ee4545b2404c68ac3aac8bf74..380072b4d3ee84ea3f06695729ce7700b25d5363 100644 --- a/Dockerfile_jupyterhub +++ b/Dockerfile_jupyterhub @@ -8,22 +8,30 @@ ARG env_name=rs-notebooks ADD *.ipynb /notebooks/ ADD sample.geojson /notebooks/ +# creating user +RUN useradd -m beyond &&\ + chown -R beyond:beyond /notebooks + # creating environment ADD environment_jupyterhub.yml ${dest_yml} + RUN mamba env create --file ${dest_yml} --name ${env_name} -# setting up shell to run in the correct environment -SHELL ["conda", "run", "-n", "rs-notebooks", "/bin/bash", "-c"] +# setting up shell to use conda run +# this ensures that the CMD command is run in the correct environment +SHELL ["conda", "run", "--no-capture-output","-n", "rs-notebooks", "/bin/bash", "-c"] # setting up jupyter lab to use bash as a terminal # this ensures that the right environment is activated in the terminal # should allow users to run pip installs from notebooks/jupyter lab terminal # without encountering issues with different environments -#RUN /opt/conda/envs/rs-notebooks/bin/jupyter lab --generate-config && \ -#RUN jupyter lab --generate-config && \ -# echo 'c.NotebookApp.terminado_settings = { "shell_command": ["/bin/bash"] }' >> /root/.jupyter/jupyter_lab_config.py +RUN jupyter lab --generate-config && \ + echo 'c.NotebookApp.terminado_settings = { "shell_command": ["/bin/bash"] }' >> /root/.jupyter/jupyter_lab_config.py # setting up default landing folder WORKDIR /notebooks -CMD jupyterhub-singleuser +# choosing new user as default +USER beyond + +CMD jupyterhub-singleuser \ No newline at end of file diff --git a/environment_jupyterhub.yml b/environment_jupyterhub.yml index ca8dbd8279db5e56058fe06f8656a58ef27ecf6d..5f6a85ba05a2b5dfafeedb2c442081cd540478b3 100644 --- a/environment_jupyterhub.yml +++ b/environment_jupyterhub.yml @@ -10,16 +10,12 @@ dependencies: - matplotlib - folium - rioxarray - - jupyterhub-singleuser=3.0.0 + - jupyterhub==4.0.2 + - jupyterlab - pip - pip: - planetary-computer - pystac-client - # with planetary-computer and pystac-client - # jsonschema==4.17.3 gets installed and breaks jupyter - # might be fixed in later version of jupyter, planetary-computer - # or pystac-client - - jsonschema==4.19.0 - rich - stackstac - bottleneck