generated from allen-cell-animated/github-boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathDockerfile
79 lines (67 loc) · 2.11 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
77
78
79
### Build image ###
FROM nvidia/cuda:12.6.1-devel-ubuntu24.04 AS build
# install dependencies
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
apt-utils \
build-essential \
software-properties-common \
git \
wget \
libgles2-mesa-dev \
libegl1 \
xvfb \
xauth \
libspdlog-dev \
libglm-dev \
libgl1-mesa-dev \
libegl1-mesa-dev \
libtiff-dev \
libzstd-dev \
nasm \
libglvnd0 \
libgl1 \
libglx0 \
libegl1 \
libgles2 \
libxkbcommon-x11-0
RUN apt-get install -y apt-transport-https ca-certificates gnupg
# get a current cmake
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/ noble 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-pip python3-venv
# get Qt installed
ENV QT_VERSION=6.5.3
RUN pip install aqtinstall --break-system-packages
RUN aqt install-qt --outputdir /qt linux desktop ${QT_VERSION} -m qtwebsockets qtimageformats
# required for qt offscreen platform plugin
RUN apt-get install -y libfontconfig
ENV QTDIR=/qt/${QT_VERSION}/gcc_64
ENV Qt6_DIR=/qt/${QT_VERSION}/gcc_64
# copy agave project
RUN mkdir /agave
COPY . /agave
RUN rm -rf /agave/build
RUN mkdir /agave/build
WORKDIR /agave
# install submodules
RUN git submodule update --init --recursive
# build agave project
RUN cd ./build && \
cmake .. && \
cmake --build . --config Release -j 8
# 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"]
# docker build -t agave_latest .
# docker run --name docker-agave -p 1235:1235 -d agave_latest