-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
55 lines (45 loc) · 1.54 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
FROM python:3.9
# Install recent nodejs for bokeh & jsmol-bokeh-extension
# See https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
RUN apt-get update && apt-get install -y --no-install-recommends \
nodejs \
graphviz \
&& rm -rf /var/lib/apt/lists/* \
&& apt-get clean all
# Install jsmol
WORKDIR /app
RUN wget https://sourceforge.net/projects/jmol/files/Jmol/Version%2014.29/Jmol%2014.29.22/Jmol-14.29.22-binary.zip/download --output-document jmol.zip
RUN unzip jmol.zip && cd jmol-14.29.22 && unzip jsmol.zip
# Container vars
ENV AIIDA_PATH /app
ENV PYTHONPATH /app
# AiiDA profile vars
ENV AIIDA_PROFILE generic
ENV AIIDADB_HOST host.docker.internal
ENV AIIDADB_PORT 5432
ENV AIIDADB_ENGINE postgresql_psycopg2
ENV AIIDADB_NAME generic_db
ENV AIIDADB_USER db_user
ENV AIIDADB_PASS ""
ENV AIIDADB_BACKEND django
ENV default_user_email [email protected]
WORKDIR /app/
COPY figure ./figure
COPY detail ./detail
COPY select-figure ./select-figure
COPY pipeline_config ./pipeline_config
COPY details ./details
COPY results ./results
COPY info ./info
RUN ln -s /app/jmol-14.29.22/jsmol ./detail/static/jsmol
RUN ln -s /app/jmol-14.29.22/jsmol ./details/static/jsmol
COPY setup.py ./
RUN pip install -e .
# NOTE This container requires graphviz~=0.13.2 that conflicts with aiida-core
# Just force-install this version and hope nothing breaks...
RUN pip install graphviz~=0.13.2
COPY serve-app.sh /opt/
# start bokeh server
EXPOSE 5006
CMD ["/opt/serve-app.sh"]