-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathDockerfile
More file actions
30 lines (24 loc) · 1.14 KB
/
Dockerfile
File metadata and controls
30 lines (24 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
FROM jupyter/base-notebook:2021-08-09
USER root
RUN apt-get update && apt install -y software-properties-common && \
add-apt-repository ppa:avsm/ppa && \
apt install -y --no-install-recommends zlib1g-dev libffi-dev libgmp-dev libzmq5-dev libcairo2-dev \
pkg-config build-essential ocaml opam && \
rm -rf /var/lib/apt/lists/
USER ${NB_USER}
ENV OPAMROOT=${CONDA_DIR}/.opam
RUN conda install -c conda-forge nbgitpuller xeus-cling && \
opam init -a -y --disable-sandboxing && \
opam update && \
opam upgrade -y && \
eval $(opam env) && \
opam install -y jupyter cairo2 graphics archimedes jupyter-archimedes ppx_inline_test batteries core && \
opam exec -- ocaml-jupyter-opam-genspec && \
jupyter kernelspec install --user --name ocaml-jupyter "$(opam var share)/jupyter" && \
rsync -a "${HOME}/.local/share/jupyter/kernels" "${CONDA_DIR}/share/jupyter"
RUN git clone https://github.com/fortierq/mp2i-library.git && \
opam install -y ./mp2i-library && \
echo '#use "topfind";;' >> ~/.ocamlinit && \
echo '#require "mp2i";;' >> ~/.ocamlinit && \
echo 'open Mp2i;;' >> ~/.ocamlinit
WORKDIR ${HOME}