diff --git a/Dockerfile b/Dockerfile index 850bed71..0f3b2f55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,23 +58,25 @@ RUN base_url=http://archive.materialscloud.org/file/2018.0001/v1; \ chown -R root:root /opt/pseudos/; \ chmod -R +r /opt/pseudos/ -## install rclone +# install rclone WORKDIR /opt/rclone RUN wget https://downloads.rclone.org/rclone-v1.38-linux-amd64.zip; \ unzip rclone-v1.38-linux-amd64.zip; \ ln -s rclone-v1.38-linux-amd64/rclone . - -## install PyPI packages for Pyhon 3 +# install PyPI packages for Python 3 RUN pip3 install --upgrade \ 'tornado==4.5.3' \ - 'jupyterhub==0.8.0' \ - 'notebook==5.1.0' + 'jupyterhub==0.8.1' \ + 'notebook==5.5.0' \ + 'appmode==0.3.0' + +# install PyPI packages for Python 2. +# This already enables jupyter notebook and server extensions +RUN pip2 install --process-dependency-links git+https://github.com/materialscloud-org/aiidalab-metapkg@v18.06.0rc3 -## install PyPI packages for Pyhon 2. -## Using pip freeze to keep user visible software stack stable. -COPY requirements.txt /opt/ -RUN pip2 install -r /opt/requirements.txt +# the fileupload extension also needs to be "installed" +RUN jupyter nbextension install --sys-prefix --py fileupload ## Get latest bugfixes from aiida-core ## TODO: Remove this after aiida-core 0.11.2 is released @@ -85,30 +87,10 @@ RUN pip2 install -r /opt/requirements.txt # pip install --no-deps . && \ # cd .. - -# active ipython kernels +# activate ipython kernels RUN python2 -m ipykernel install RUN python3 -m ipykernel install - -# enable Jupyter extensions -RUN jupyter nbextension enable --sys-prefix --py widgetsnbextension && \ - jupyter nbextension enable --sys-prefix --py pythreejs && \ - jupyter nbextension enable --sys-prefix --py nglview && \ - jupyter nbextension enable --sys-prefix --py bqplot && \ - jupyter nbextension enable --sys-prefix --py ipympl && \ - jupyter nbextension install --sys-prefix --py fileupload && \ - jupyter nbextension enable --sys-prefix --py fileupload - - -# install Jupyter Appmode -# server runs python3, notebook runs python2 - need both -RUN pip2 install appmode==0.3.0 && \ - pip3 install appmode==0.3.0 && \ - jupyter nbextension enable --sys-prefix --py appmode && \ - jupyter serverextension enable --sys-prefix --py appmode - - # install MolPad WORKDIR /opt RUN git clone https://github.com/oschuett/molview-ipywidget.git && \ @@ -120,8 +102,7 @@ RUN git clone https://github.com/oschuett/molview-ipywidget.git && \ # create symlink for legacy workflows RUN cd /usr/local/lib/python2.7/dist-packages/aiida/workflows; rm -rf user; ln -s /project/workflows user -# populate reentry cache -# https://pypi.python.org/pypi/reentry/ +# populate reentry cache for root user https://pypi.python.org/pypi/reentry/ RUN reentry scan # disable MPI warnings that confuse ASE diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 096bfee0..00000000 --- a/requirements.txt +++ /dev/null @@ -1,156 +0,0 @@ -# python2 packages for user environment -# required packages ============================================================ -# -# ipython==5.5.0 # IPython 6 requires Python 3.3 or later -# notebook -# aiida -# aiida-cp2k -# aiida-quantumespresso -# ase -# seekpath -# ipywidgets -# fileupload -# bokeh -# pythreejs -# nglview -# bqplot -# matplotlib -# ipympl -# numpy -# pandas -# scipy -# requests -# lxml -# Markdown -# -# freeze versions ============================================================== -aiida==0.12.0 -aiida-ase==1.0.1 -aiida-codtools==1.0.1 -aiida-core[rest,atomic_tools]==0.12.0 -aiida-cp2k==0.9 -aiida-nwchem==1.0.1 -aiida-raspa==0.2.1 -aiida-zeopp==0.1.0 -aiida-quantumespresso==2.0.1 -aiida-vasp==0.2.2 -aldjemy==0.6.0 -alembic==0.9.6 -amqp==1.4.9 -anyjson==0.3.3 -ase==3.15.0 -asn1crypto==0.24.0 -backports-abc==0.5 -backports.functools-lru-cache==1.5 -backports.shutil-get-terminal-size==1.0.0 -billiard==3.3.0.23 -bleach==2.1.1 -bokeh==0.12.15 -bqplot==0.10.1 -celery==3.1.25 -certifi==2018.1.18 -cffi==1.11.4 -chardet==3.0.4 -click==6.7 -click-plugins -click-spinner -configparser==3.5.0 -cryptography==2.1.4 -cycler==0.10.0 -decorator==4.2.1 -Django==1.7.11 -django-extensions==1.5.0 -ecdsa==0.13 -entrypoints==0.2.3 -enum34==1.1.6 -ete3==3.0.0b35 -fileupload==0.1.5 -Flask==0.12.2 -frozendict==1.2 -functools32==3.2.3.post2 -future==0.16.0 -futures==3.2.0 -html5lib==1.0b10 -idna==2.6 -ipaddress==1.0.19 -ipykernel==4.8.2 -ipympl==0.1.0 -ipython<6.0 -ipython-genutils==0.2.0 -ipywidgets==7.0.5 -itsdangerous==0.24 -Jinja2==2.10 -jsonschema==2.6.0 -jupyter-client==5.2.2 -jupyter-core==4.4.0 -kombu==3.0.37 -lxml==4.1.1 -Mako==1.0.7 -Markdown==2.6.9 -MarkupSafe==1.0 -matplotlib==2.1.0 -meld3==1.0.0 -mistune==0.8.1 -nbconvert==5.3.1 -nbformat==4.4.0 -nglview==1.0 -notebook==5.2.1 -numpy==1.13.3 -pandas==0.22.0 -pandocfilters==1.4.2 -paramiko==2.4.0 -passlib==1.7.1 -pathlib2==2.3.0 -pexpect==4.3.0 -pickleshare==0.7.4 -plumpy==0.7.12 -portalocker==1.1.0 -prompt-toolkit==1.0.15 -psutil==5.4.0 -psycopg2-binary==2.7.4 -ptyprocess==0.5.2 -pyasn1==0.4.2 -pycifrw==4.4 -pycparser==2.18 -pycrypto==2.6.1 -Pygments==2.2.0 -pymysql==0.8.0 -pyparsing==2.2.0 -python-dateutil==2.6.1 -python-editor==1.0.3 -python-mimeparse==0.1.4 -pythreejs==0.4.1 -pytz==2017.3 -PyYAML==3.12 -pyzmq==16.0.3 -reentry==1.2.1a2 -requests==2.18.4 -scandir==1.6 -scipy==1.0.0 -seekpath==1.8.0 -simplegeneric==0.8.1 -singledispatch==3.4.0.3 -six==1.11.0 -spglib==1.10.1.4 -SQLAlchemy==1.0.19 -SQLAlchemy-Utils==0.33.0 -subprocess32==3.2.7 -supervisor==3.1.3 -tabulate==0.7.5 -terminado==0.7 -testpath==0.3.1 -tornado==4.5.3 -traitlets==4.3.2 -traittypes==0.0.6 -tzlocal==1.3 -ujson==1.35 -uritools==1.0.2 -urllib3==1.22 -validate-email==1.3 -voluptuous==0.8.11 -wcwidth==0.1.7 -webencodings==0.5.1 -Werkzeug==0.14.1 -widgetsnbextension==3.0.8 - -#EOF diff --git a/start-singleuser.sh b/start-singleuser.sh index 221fb8fc..f3888da4 100755 --- a/start-singleuser.sh +++ b/start-singleuser.sh @@ -105,7 +105,6 @@ fi # update the list of installed plugins grep "reentry scan" /project/.bashrc || echo "reentry scan" >> /project/.bashrc - #=============================================================================== # generate ssh key if [ ! -e /project/.ssh/id_rsa ]; then