<div dir="ltr">Wes,<div><br></div><div>Responses inline.<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Aug 5, 2014 at 1:00 AM, Wes Turner <span dir="ltr"><<a href="mailto:wes.turner@gmail.com" target="_blank">wes.turner@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><br></div><div class="gmail_quote"><div class="">On Tue, Aug 5, 2014 at 12:46 AM, Tyler Erickson <span dir="ltr"><<a href="mailto:tylere@google.com" target="_blank">tylere@google.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">

<div>On Mon, Aug 4, 2014 at 10:33 PM, Kyle Kelley <span dir="ltr"><<a href="mailto:rgbkrk@gmail.com" target="_blank">rgbkrk@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Tyler,<div><br></div><div>Taking in everyones comments and my opinion as a not-quite-sysadmin:</div>

<div>

<br></div><div>Base image, ipython/notebook, will</div><div><br></div><div>* have just the ipython notebook essentials</div>
<div>* up to date (as of image build) version of pip (or conda... plead for one or the other please!)</div></div></blockquote><div><br></div></div><div>conda, please :)  </div></div></div></div></blockquote><div><br></div>

</div><div>+1. <a href="http://conda.pydata.org/docs/build.html" target="_blank">http://conda.pydata.org/docs/build.html</a></div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div dir="ltr"><div>* be installed for all users (all users inside the container)</div><div>  * This means that any images inheriting from it can set up their own user setup, install more packages</div></div></blockquote>



<div><br></div></div><div>Sounds fine to me.</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">
<div>* default cmd that runs the notebook server with some default parameters</div><div>  * This can be overwritten by a Dockerfile that uses FROM ipython/notebook</div><div><br></div><div>My personal take on this is that we could have an ipy user, with notebooks at /home/ipy/notebooks.</div>



</div></blockquote><div><br></div></div><div>Sounds reasonable. I have no strong opinion.</div><div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr"><div>

</div><div>Derivative image, ipython/scipystack (please suggest other names), could be</div><div><br></div><div>* numpy</div><div>* scipy</div><div>* matplotlib</div><div>* pandas</div><div>* scikit-learn</div></div></blockquote>



<div><br></div></div><div>I would be happy with that list.</div></div></div></div></blockquote><div><br></div></div><div>* [ ] pip (which version?)</div><div><br></div><div>* Supervisord? <a href="http://supervisord.org/" target="_blank">http://supervisord.org/</a> <a href="https://github.com/Supervisor/initscripts" target="_blank">https://github.com/Supervisor/initscripts</a></div>
</div></div></div></blockquote><div><br></div><div>Why? The process can be kept up inside the container and managed outside of the container. Does this grant something else?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><br></div><div>* conda <a href="https://pypi.python.org/pypi/conda" target="_blank">https://pypi.python.org/pypi/conda</a></div><div><br></div><div>* enpkg <a href="https://pypi.python.org/pypi/enstaller" target="_blank">https://pypi.python.org/pypi/enstaller</a></div>
</div></div></div></blockquote><div><br></div><div>That's just making things more complicated. Would you be able to pip install or conda install this if you really need it?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>
</div><div><br></div><div>* pyenv <a href="https://github.com/yyuu/pyenv" target="_blank">https://github.com/yyuu/pyenv</a></div></div></div></div></blockquote><div><br></div><div>No thank you. Switching kernels will be done inside the notebook itself.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>* tox, {... build packages }</div>
</div></div></div></blockquote><div><br></div><div>tox is out of scope to me. What is your reasoning and audience?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>* { ad infinitum }</div><div><div class="h5"><div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

<div><br></div><div>Cheers,</div><div>Tyler</div><div><div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<div dir="ltr"><div></div><div>For an IHaskell base image, I'd prefer the namespace to actually be jupyter/ihaskell in the long run.</div><div><br></div><div>There may come a time when we want multiple kernels in one container. After all, have you seen what you can do with the current master branch? </div>




<div><br></div><div><br></div><div><div><img width="226" height="234"><br></div></div><div><br></div><div>Including all the kernels (and stacks) will make a hefty docker image though, so I won't progress down that path just yet.</div>




<div><br></div><div><br></div><div><div><div class="gmail_extra"><div><div><br><div class="gmail_quote">On Mon, Aug 4, 2014 at 4:52 PM, Tyler Erickson <span dir="ltr"><<a href="mailto:tylere@google.com" target="_blank">tylere@google.com</a>></span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>Kyle,</div><div><br></div>I think having an official base Docker instance will be quite useful, especially for running workshops.<div>




<br></div><div>I added comments for my particular use case below.<div>

<div class="gmail_extra"><br><div class="gmail_quote"><div>On Fri, Aug 1, 2014 at 6:54 PM, Kyle Kelley <span dir="ltr"><<a href="mailto:rgbkrk@gmail.com" target="_blank">rgbkrk@gmail.com</a>></span> wrote:<br>
</div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">Earlier this week we released an experimental base Docker image for the IPython notebook: <div><br></div><div><a href="https://registry.hub.docker.com/u/ipython/notebook/" target="_blank">https://registry.hub.docker.com/u/ipython/notebook/</a><div>








<br></div><div>As well as a Docker image for the notebook viewer (which will be used in production soon):</div><div><br></div><div><a href="https://registry.hub.docker.com/u/ipython/nbviewer/" target="_blank">https://registry.hub.docker.com/u/ipython/nbviewer/</a><br>








</div></div><div><br></div><div>Yay!</div><div><br></div><div>Several folks have reached out about these images, and I'd like to get a conversation started amongst those that want to build from a common base. There are, after all, a *lot* of ipython images up on Docker already. Additionally, there is a LONG thread on the software carpentry mailing list </div>







<div><br></div>There are some open questions from me:<div><br></div><div>* Who should the user be inside the container?</div><div>  * Should they be able to install more packages?</div></div></blockquote><div><br></div></div>




<div>

I don't think the user accessing the instance needs to be able to install custom packages. (It would be nice this functionality was available, but it is not critical for running workshops.)</div><div><br></div><div>However, administrators need to have the ability to create custom images based off the docker base image that have additional packages. </div>




<div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>  * In a chef cookbook and deployment setup, I just made the user named ipynb.</div>





<div><br></div><div>* Is it ok to force HTTPS?</div><div>  * If we do, we're stuck with self signed certs or requiring them to provide them on run</div><div>  * This isn't really the right way to compose applications with Docker and probably makes things problematic for anyone building on top of ours</div>







<div><br></div><div>* Who is our target audience?</div><div>  * People deploying notebooks across their organization for users?</div><div>  * Students (and their teachers) wanting access to an easy analytics environment?</div>






</div></blockquote><div> </div></div><div>My interest is in providing an environment for external users of our analysis API, so it somewhat similar to the latter description. Some are in academia, but many are not. </div>




<div><div>
<br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div></div><div>* What would you see out of a base image? Where would the value be?</div>




<div><br>

</div><div>* Would people like to see a bleeding latest image that you can spin up to see the current state of the IPython notebook by just running `docker run ipython/notebook:bleeding-latest`?</div>
<div><br></div><div>* Do people want a base image that has a large portion of the scipy stack?</div></div></blockquote><div><br></div></div><div>Yes, particularly matplotlib and pandas.</div><div><br></div><div>Cheers,</div>




<div>

Tyler</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div dir="ltr"><div>
I'll stop with these and see where the discussion takes us.</div></div>


<br></div>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr">Kyle Kelley (<a href="https://twitter.com/rgbkrk" target="_blank">@rgbkrk</a>; <a href="http://lambdaops.com/" style="color:rgb(17,85,204)" target="_blank">http://lambdaops.com</a>)<br>




</div>
</font></span></div></div></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org" target="_blank">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div></div></div><br></div></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Kyle Kelley (<a href="https://twitter.com/rgbkrk" target="_blank">@rgbkrk</a>; <a href="http://lambdaops.com/" style="color:rgb(17,85,204)" target="_blank">http://lambdaops.com</a>)<br>
</div>
</div></div></div>