scidash / docker-stacks

Docker stacks for SciDash projects.
0 stars 0 forks source link

make neuron-mpi-neuroml more minimal? #8

Closed russelljjarvis closed 7 years ago

russelljjarvis commented 7 years ago

It seems like we should make a separate: neuron-mpi image, for the network modeling community (which still includes me), but keep MPI building out of your work flow, since it will be slowing down your builds significantly and it is not ultimately used yet.

What this Dockerfile would look like with MPI stripped out:

#author russell jarvis rjjarvis@asu.edu

FROM scidash/scipy-notebook-plus
USER root

RUN conda install -y ipython

#Install NEURON-7.4 with python, without MPI. An infamous build process,
#and much of the motivation for this docker container
WORKDIR $HOME/neuron
# Fetch NEURON source files, extract them, delete .tar.gz file.
RUN \
  wget http://www.neuron.yale.edu/ftp/neuron/versions/v7.4/nrn-7.4.tar.gz && \
  tar -xzf nrn-7.4.tar.gz && \
  rm nrn-7.4.tar.gz 

WORKDIR $HOME/neuron/nrn-7.4
RUN ./configure --prefix=`pwd` --without-iv --with-nrnpython=/opt/conda/bin/python
RUN make all && \
    make install

#Create python bindings for NEURON
WORKDIR src/nrnpython
RUN python setup.py install
ENV PATH $HOME/neuron/nrn-7.4/x86_64/bin:$PATH

#Get JNeuroML
RUN echo $PATH
WORKDIR $HOME/git
#TODO change back to this repository, once pull request as accepted for python3 compliant code
#RUN sudo git clone https://github.com/NeuroML/jNeuroML
RUN git clone https://github.com/russelljjarvis/jNeuroML.git
WORKDIR jNeuroML
RUN python getNeuroML.py

USER $NB_USER
rgerkin commented 7 years ago

@russelljjarvis It depends how frequently we expected to be rebuilding that image. I don't expect to change scipy-notebook-plus too often, and so I also don't expect to be rebuilding this one too often. I expect to be doing more development on the ones that depend on neuron-mpi-neuroml, but the current one seems sufficient. When I do need to make changes, I can just have it rebuilt overnight. If I need immediate changes I can usually just put them into the most distal build (e.g. neuronunit) for the day and then move them upstream for a build overnight.

russelljjarvis commented 7 years ago

Done mpi taken out in next release.