Skip to content

Instantly share code, notes, and snippets.

@portnov
Created June 17, 2016 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save portnov/9271965d7ef98dced3315f8412a0042d to your computer and use it in GitHub Desktop.
Save portnov/9271965d7ef98dced3315f8412a0042d to your computer and use it in GitHub Desktop.
sbcl+fricas+jupyter
FROM ubuntu:16.04
MAINTAINER Ilya Portnov <portnov@iportnov.ru>
#RUN DEBIAN_FRONTEND=noninteractive locale-gen en_US.UTF-8 && \
# DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales
# Not essential, but wise to set the lang # Note: Users with other languages should set this in their derivative image
#ENV LANGUAGE en_US.UTF-8
#ENV LANG en_US.UTF-8
#ENV LC_ALL en_US.UTF-8
#ENV PYTHONIOENCODING UTF-8
RUN apt-get update -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
build-essential \
ca-certificates \
curl \
git \
language-pack-en \
libcurl4-openssl-dev \
libffi-dev \
libsqlite3-dev \
libzmq3-dev \
pandoc \
python \
python3 \
python-dev \
python3-dev \
python-pip \
python3-pip \
sqlite3 \
texlive-fonts-recommended \
texlive-latex-base \
texlive-latex-extra \
zlib1g-dev
# Install Tini
RUN curl -L https://github.com/krallin/tini/releases/download/v0.6.0/tini > tini && \
echo "d5ed732199c36a1189320e6c4859f0169e950692f451c03e7854243b95f4234b *tini" | sha256sum -c - && \
mv tini /usr/local/bin/tini && \
chmod +x /usr/local/bin/tini
# Install some dependencies.
RUN apt-get install -y python-setuptools python3-setuptools && \
pip2 --no-cache-dir install ipykernel && \
pip3 --no-cache-dir install ipykernel && \
python2 -m ipykernel.kernelspec && \
python3 -m ipykernel.kernelspec && \
pip2 install notebook && \
pip3 install notebook && \
pip2 install --no-cache-dir widgetsnbextension && \
pip3 install --no-cache-dir widgetsnbextension
# Add a notebook profile.
RUN mkdir -p -m 700 /root/.jupyter/ && \
echo "c.NotebookApp.ip = '*'" >> /root/.jupyter/jupyter_notebook_config.py
# Install older sbcl & dependencies
RUN apt-get install -y sbcl \
wget subversion autoconf libgmp-dev
# Download & build sbcl 1.3.6
RUN cd /usr/src/ && \
wget http://prdownloads.sourceforge.net/sbcl/sbcl-1.3.6-source.tar.bz2?download && \
tar xf sbcl-1.3.6-source.tar.bz2\?download && \
cd sbcl-1.3.6 && \
bash make.sh && \
bash install.sh
# download & build fricas
RUN cd /usr/src/ && \
svn checkout svn://svn.code.sf.net/p/fricas/code/trunk fricas && \
cd fricas/ && \
./build-setup.sh && \
./configure --enable-gmp && \
make -j4 && \
make install
VOLUME /notebooks
WORKDIR /notebooks
EXPOSE 8888
ENTRYPOINT ["tini", "--"]
CMD ["jupyter", "notebook", "--no-browser"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment