-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathDockerfile
76 lines (60 loc) · 3.33 KB
/
Dockerfile
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
FROM michaelwetter/ubuntu-1804_jmodelica_trunk:latest
USER root
ENV JMODELICA_HOME /usr/local/JModelica
ENV IPOPT_HOME /usr/local/Ipopt-3.12.4
#ENV CPPAD_HOME /home/docker/installed/JModelica/ThirdParty/CppAD/
ENV SUNDIALS_HOME /usr/local/JModelica/ThirdParty/Sundials
#ENV PYTHONPATH /usr/local/JModelica/Python/:/usr/local/JModelica/Python/pymodelica/:
ENV LD_LIBRARY_PATH /usr/local/Ipopt-3.12.4/lib/:/usr/local/JModelica/ThirdParty/Sundials/lib:/usr/local/JModelica/ThirdParty/CasADi/lib:/usr/local/JModelica/Python/pyfmi
ENV SEPARATE_PROCESS_JVM /usr/lib/jvm/java-8-openjdk-amd64/
#ENV MODELICAPATH /usr/local/JModelica/ThirdParty/MSL:/home/developer/modelica
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV JCC_JDK /usr/lib/jvm/java-8-openjdk-amd64
ENV PATH="/home/developer/miniconda3/bin:${PATH}"
EXPOSE 8888
EXPOSE 22
RUN apt-get -y update && apt-get install -y ipython vim libgeos-dev git openssh-server sudo iproute2 python3-pip python3 wget
RUN usermod -aG sudo developer
RUN echo "developer ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
RUN echo 'developer:password' | chpasswd
USER developer
WORKDIR /home/developer/
RUN wget \
https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
&& mkdir /home/developer/.conda \
&& bash Miniconda3-latest-Linux-x86_64.sh -b \
&& rm -f Miniconda3-latest-Linux-x86_64.sh
RUN conda update conda -y \
&& conda config --add channels conda-forge \
&& conda install pyfmi -y
RUN conda install matplotlib numpy pandas python-dateutil scikit-learn sphinx numpydoc -y
RUN conda install jupyter jupyter_contrib_nbextensions jupyterthemes -y
RUN mkdir -p /home/developer/.jupyter && jupyter notebook --generate-config
# Add password, so no need to look for token
RUN python3 -c 'import json; from notebook.auth import passwd; open("/home/developer/.jupyter/jupyter_notebook_config.json", "w").write(json.dumps({"NotebookApp":{"password": passwd("password")}}));'
RUN mkdir -p /home/developer/.local/share/jupyter/nbextensions
WORKDIR /home/developer/.local/share/jupyter/nbextensions
RUN git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding
RUN jupyter nbextension enable vim_binding/vim_binding
RUN jupyter contrib nbextension install --user
RUN jupyter nbextension enable code_prettify/autopep8
RUN jupyter nbextension enable collapsible_headings/main
RUN jt -tf source -nf ptsans -nfs 10 -ofs 10 -fs 10 -tfs 10 #-t gruvboxd --vim
RUN conda install altair vega autopep8 seaborn pytorch pytorch-lightning statsmodels keras neptune-client
RUN conda install pip
RUN conda init bash
RUN mkdir /home/developer/ipynotebooks && \
mkdir /home/developer/modelica && \
mkdir /home/developer/python_libs/mpc_optimization -p
RUN sudo apt update -y && \
sudo apt install -y lsb-release
RUN for deb in deb deb-src; do echo "$deb http://build.openmodelica.org/apt `lsb_release -cs` release"; done | sudo tee /etc/apt/sources.list.d/openmodelica.list && \
wget -q http://build.openmodelica.org/apt/openmodelica.asc -O- | sudo apt-key add - && \
apt-key fingerprint && \
sudo apt update -y && \
sudo apt install -y openmodelica omlib-modelica-3.2.3 && \
sudo apt clean -y && sudo rm -rf /var/lib/apt/lists/*
#RUN pip3 install ompython
RUN python3 -m pip install -U https://github.com/OpenModelica/OMPython/archive/master.zip
ENV USER developer
ENV DISPLAY :0.0