forked from datajoint-company/IBL-pipeline
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.ingest
40 lines (33 loc) · 1.64 KB
/
Dockerfile.ingest
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
FROM ubuntu:20.04
WORKDIR /src
ARG DEBIAN_FRONTEND=noninteractive
# Get all apt packages needed
RUN apt-get update && apt-get install -y git python3-pip python3-tk xvfb libglib2.0-0 libfontconfig libxcb-icccm4 libxcb-xinput0 libxcb-image0 libgl-dev libglu1-mesa-dev libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon0 libxkbcommon-x11-0 libdbus-1-3
# Mayavi fails if it is install on the same command as numpy for some reason hence the &&
RUN pip3 install numpy pyvirtualdisplay vtk imageio && pip3 install mayavi
# install an older version of pyqt5 to prevent crash
RUN pip3 uninstall pyqt5
RUN pip3 install pyqt5==5.14.2
# taking care of the dependency issue
RUN pip3 install 'cryptography<=3.3.2'
RUN pip3 install 'decorator<5,>=4.3'
# install postgresql
RUN apt-get update && apt-get install -y wget\
&& apt-get -y install lsb-release gnupg2 \
&& echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
RUN apt-get update && apt-get -y install postgresql-client-13
RUN cd /src \
&& git clone https://github.com/cortex-lab/alyx.git \
&& cd alyx && pip3 install -r requirements.txt
# Clone the iblapps.git and set it up
RUN git clone --branch develop https://github.com/int-brain-lab/iblapps.git && pip3 install -e ./iblapps
ADD . /src/IBL-pipeline
RUN pip3 install -e /src/IBL-pipeline
# alyx runtime env
ENV PYTHONPATH=/src/alyx/alyx
ENV DJANGO_SETTINGS_MODULE=alyx.settings
EXPOSE 8888/tcp
COPY ingest-entrypoint.sh /
ENTRYPOINT ["/ingest-entrypoint.sh" ]
CMD [ "www" ]