44# Set up the base image to build with
55FROM docker.io/library/python:3.12.8-slim-bullseye AS base
66
7- # Install Vim in base image
7+ # Install Vim and PostgreSQL dependencies in base image
88RUN apt-get update && \
99 apt-get upgrade -y && \
1010 apt-get install -y --no-install-recommends \
11+ libpq-dev \
1112 vim \
1213 && \
1314 apt-get autoremove && \
1415 rm -rf /var/lib/apt/lists/*
1516
1617
17- # Build Murfey in a separate image
18+ # Build Murfey and IMOD in a separate image
1819FROM base as build
1920COPY ./ /python-murfey/
2021RUN apt-get update && \
2122 apt-get upgrade -y && \
2223 apt-get install -y --no-install-recommends \
2324 build-essential \
2425 busybox \
25- git \
26- libpq-dev \
26+ curl \
27+ # git \
2728 net-tools \
2829 && \
2930 busybox --install && \
@@ -34,7 +35,11 @@ RUN apt-get update && \
3435 importlib-metadata \
3536 psycopg2-binary \
3637 && \
37- /venv/bin/python -m pip install /python-murfey[server]
38+ /venv/bin/python -m pip install /python-murfey[server] && \
39+ curl https://bio3d.colorado.edu/imod/AMD64-RHEL5/imod_5.1.0_RHEL8-64_CUDA12.0.sh > imod_5.1.0_RHEL8-64_CUDA12.0.sh && \
40+ chmod +x imod_5.1.0_RHEL8-64_CUDA12.0.sh && \
41+ mkdir imod && \
42+ ./imod_5.1.0_RHEL8-64_CUDA12.0.sh -dir imod -skip -y
3843
3944
4045# Transfer completed Murfey build to a clean image
@@ -45,11 +50,13 @@ ARG groupid
4550ARG groupname
4651ARG userid
4752
48- # Copy completed Murfey build across and set user and group permissions
53+ # Copy completed Murfey and IMOD builds across and set user and group permissions
4954COPY --from=build /venv/ /venv/
55+ COPY --from=build /imod/ /imod/
5056RUN groupadd -r -g "${groupid}" "${groupname}" && \
5157 useradd -r -M "${groupname}" -u "${userid}" -g "${groupname}" && \
5258 chown -R "${userid}":"${groupid}" /venv && \
5359 chmod -R a+x /venv
54- ENV PATH=/venv/bin:$PATH
60+ ENV PATH=/venv/bin:/imod-install/IMOD/bin:$PATH
61+ ENV IMOD_DIR=/imod-install/IMOD
5562USER "${userid}":"${groupid}"
0 commit comments