[IPython-dev] Docker IPython

Wes Turner wes.turner at gmail.com
Tue Aug 5 16:46:56 EDT 2014

>> * Supervisord? http://supervisord.org/
>> https://github.com/Supervisor/initscripts
> Why? The process can be kept up inside the container and managed outside of
> the container. Does this grant something else?

* platform init (init.d, systemd)
* autorestart (not handled by init)
* log management ("supervisorctl tail ipnb")

* strip_ansi escape sequences from logs

Just a suggestion.

>> * conda https://pypi.python.org/pypi/conda
>> * enpkg https://pypi.python.org/pypi/enstaller
> That's just making things more complicated. Would you be able to pip install
> or conda install this if you really need it?

One could install either conda or enpkg in addition to pip.


>> * pyenv https://github.com/yyuu/pyenv
> No thank you. Switching kernels will be done inside the notebook itself.

Pivot_root should not be possible in userspace, over SSH or TLS.

In the back of my mind, I don't know why I am implicitly adding
"IPython testing" to your list of Use Cases.

Is this a Python 2 or a Python 3 container? Are the OS packages still
out of date? Tox also helps with multiple versions of Python.

>> * tox, {... build packages }
> tox is out of scope to me. What is your reasoning and audience?

Testing, development

>> * { ad infinitum }

I've got a first draft of an ipython-formula for saltstack (which also
depends on ZMQ and Jinja2) which should work with any sort of

Managing the TLS CA / server / browser certs with salt appears even
easier than https://bitbucket.org/westurner/certtool/src/23307af8e54be08786f1d301c55d266d8a8918ec/certtool

As usual, a hard part appears to be what to install with:

* system pkgs
* pip packages as root
* pip packages into ~/.local
* pip into a ~/env virtualenv
* conda into a conda environment

Setting download-cache in pip.conf may be helpful.

Is a "Multi-User IPython notebook server with a scipy stack" within
scope for this container?

* Are they all named 'ipy'?
* SSH authorized_keys?
* Web based SSH?
* NFS / Google Drive / git-annex / Dropbox / PyFS (FUSE) mounts for
notebook storage? A Docker volume?

Is it easier to manage resource quotas and bursting with each user in
a separate container?

While log-shipping is unique in every environment, ephemeral
containers present additional challenges.

... "Running a public IPython Notebook service for teaching in
university courses"

More information about the IPython-dev mailing list