forked from allen-cell-animated/agave
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
65 lines (54 loc) · 1.8 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
### Build image ###
FROM nvidia/cudagl:11.2.2-devel-ubuntu18.04 as build
# install dependencies
RUN mkdir /agave && \
mkdir /agave/build && \
apt-get update && apt-get install -y \
apt-utils \
build-essential \
git \
wget \
libspdlog-dev \
libtiff-dev \
libglm-dev \
libgl1-mesa-dev \
libegl1-mesa-dev \
libgles2-mesa-dev \
libegl1 \
xvfb \
xauth
# get a current cmake
RUN apt-get update && apt-get install -y apt-transport-https ca-certificates gnupg software-properties-common
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
RUN apt-get install kitware-archive-keyring
RUN rm /etc/apt/trusted.gpg.d/kitware.gpg
RUN apt-get update && apt-get install -y cmake
# get python
RUN apt-get install -y python3.8-dev python3-pip
# get Qt installed
ENV QT_VERSION=5.15.2
RUN pip3 install aqtinstall
RUN aqt install --outputdir /qt ${QT_VERSION} linux desktop gcc_64
# required for qt offscreen platform plugin
RUN apt-get install -y libfontconfig
# copy agave project
COPY . /agave
RUN rm -rf /agave/build/*
WORKDIR /agave
# install submodules
RUN git submodule update --init --recursive
# build agave project
ENV QTDIR=/qt/${QT_VERSION}/gcc_64
RUN cd ./build && \
cmake .. -DCMAKE_BUILD_TYPE=Release && \
make
# leaving this here to show how to load example data into docker image
# RUN mkdir /agavedata
# RUN cp AICS-11_409.ome.tif /agavedata/
# RUN cp AICS-12_881.ome.tif /agavedata/
# RUN cp AICS-13_319.ome.tif /agavedata/
EXPOSE 1235
COPY docker-entrypoint.sh /usr/local/bin/
RUN ["chmod", "+x", "/usr/local/bin/docker-entrypoint.sh"]
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]