Skip to content
Snippets Groups Projects
Commit 1ded9356 authored by Yee-Ting Li's avatar Yee-Ting Li
Browse files

feat: update for 4.4.0

parent 4dc2246f
No related branches found
No related tags found
No related merge requests found
# syntax=docker/dockerfile:experimental
FROM slaclab/xfce:ubuntu18.04
FROM slaclab/x11-docker:20231115.0
ENV DEBIAN_FRONTEND noninteractive
#RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 \
WORKDIR /etc/apt/keyrings
RUN wget --no-check-certificate -qO ubuntu1804-Release.gpg https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804-keyring.gpg \
&& apt-key add /etc/apt/keyrings/ubuntu1804-Release.gpg \
RUN curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add -\
&& echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
zip unzip \
python \
python3 \
python3-dev \
python3-setuptools \
python3-pip \
python3 python3-dev python3-setuptools python3-pip \
libtiff5 \
netbase \
ed \
ed jq \
curl \
iputils-ping \
sudo \
net-tools \
openssh-server \
jq \
netbase iputils-ping net-tools \
munge \
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get install -y nodejs \
#&& curl -fsSL https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/6.0/Release.gpg | tee /usr/share/keyrings/mongodb.gpg \
#&& echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
&& curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add -\
&& echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
&& apt-get update \
&& apt-get install -y mongodb-mongosh mongodb-database-tools \
nodejs \
mongodb-mongosh mongodb-database-tools \
&& rm -rf /var/lib/apt/lists/* \
&& ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so.3
......@@ -69,7 +55,7 @@ ENV CRYOSPARC_WORKER_DIR ${CRYOSPARC_ROOT_DIR}/cryosparc_worker
RUN --mount=type=secret,id=cryosparc_license_id \
curl -L https://get.cryosparc.com/download/worker-v${CRYOSPARC_VERSION}/$(cat /run/secrets/cryosparc_license_id) | tar -xz \
&& cd ${CRYOSPARC_WORKER_DIR} \
&& bash ./install.sh --license "$(cat /run/secrets/cryosparc_license_id)" --yes --cudapath /usr/local/cuda \
&& bash ./install.sh --license "$(cat /run/secrets/cryosparc_license_id)" --yes \
&& sed -i 's/^export CRYOSPARC_LICENSE_ID=.*$/export CRYOSPARC_LICENSE_ID=TBD/g' ${CRYOSPARC_WORKER_DIR}/config.sh
# update patches
......
CRYOSPARC_VERSION ?= 4.0.3
CRYOSPARC_PATCH ?=
CRYOSPARC_VERSION ?= 4.4.0
CRYOSPARC_PATCH ?= 231114
CRYOSPARC_RELEASE ?= 0
#CRYOSPARC_FULL_VERSION ?= ${CRYOSPARC_VERSION}-${CRYOSPARC_PATCH}
#TAG ?= ${CRYOSPARC_FULL_VERSION}-${CRYOSPARC_RELEASE}
#docker:
# sudo DOCKER_BUILDKIT=1 docker build \
# --build-arg CRYOSPARC_VERSION=${CRYOSPARC_VERSION} \
# --progress=plain \
# --secret id=cryosparc_license_id,src=./license_id.txt \
# . \
# -t slaclab/cryosparc-docker:${TAG}
# sudo docker push slaclab/cryosparc-docker:${TAG}
CONTAINER_RUNTIME ?= docker
IMAGE ?= slaclab/cryosparc-desktop
tag:
ifeq ($(CRYOSPARC_PATCH),)
......@@ -19,22 +11,28 @@ CRYOSPARC_FULL_VERSION = $(CRYOSPARC_VERSION)
else
CRYOSPARC_FULL_VERSION = $(CRYOSPARC_VERSION)+$(CRYOSPARC_PATCH)
endif
TAG = $(CRYOSPARC_FULL_VERSION)-$(CRYOSPARC_RELEASE)
CRYOSPARC_IMAGE_INSTALL_DIR=/sdf/group/cryoem/sw/images/cryosparc/${CRYSPARC_FULL_VERSION}-desktop
TAG = $(subst +,-,$(CRYOSPARC_FULL_VERSION)-$(CRYOSPARC_RELEASE))
CRYOSPARC_IMAGE_INSTALL_DIR = /sdf/group/cryoem/sw/images/cryosparc/$(CRYOSPARC_FULL_VERSION)-desktop
echo_tag: tag
echo "TAG=$(TAG)"
desktop: tag
sudo COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build \
license:
mkdir .secret
echo ${CRYOSPARC_LICENSE_ID} > .secret/license_id.txt
build: tag
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 $(CONTAINER_RUNTIME) build \
--build-arg CRYOSPARC_VERSION=${CRYOSPARC_VERSION} \
--build-arg CRYOSPARC_PATCH=${CRYOSPARC_PATCH} \
--progress=plain \
--secret id=cryosparc_license_id,src=./license_id.txt \
--secret id=cryosparc_license_id,src=.secret/license_id.txt \
. -f Dockerfile.desktop \
-t slaclab/cryosparc-desktop:${TAG}
sudo docker push slaclab/cryosparc-desktop:${TAG}
-t $(IMAGE):${TAG}
push: build
sudo $(CONTAINER_RUNTIME) push $(IMAGE):${TAG}
desktop-singularity: tag
singularity: tag
mkdir -p ${CRYOSPARC_IMAGE_INSTALL_DIR}
singularity pull -F ${CRYOSPARC_IMAGE_INSTALL_DIR}/cryosparc-desktop@${CRYOSPARC_FULL_VERSION}.sif docker://slaclab/cryosparc-desktop:${TAG}
echo apptainer pull -F ${CRYOSPARC_IMAGE_INSTALL_DIR}/cryosparc-desktop@${CRYOSPARC_FULL_VERSION}.sif docker://slaclab/cryosparc-desktop:${TAG}
# docker image for cryosparc v2
You first need to obtain a license for cryosparc via https://cryosparc.com/download/
You first need to obtain a license for cryosparc via https://cryosparc.com/download/ and cat it into a location that so that the docker build process can pick it up:
build with your license key from cryosparc:
```
export CRYOSPARC_LICENSE_ID=<BLAH>
make license
```
export CRYOSPARC_LICENSE_ID=<BLAH>
docker build --build-arg CRYOSPARC_LICENSE_ID=${CRYOSPARC_LICENSE_ID} . -t slaclab/cryosparc-docker:2.2.0
All this really does is to put it into a text file under .secret.
Then to actually build the image:
```
make build
```
You can change the version to be installed via environment variables, eg to install
```
CRYOSPARC_VERSION=4.4.0 CRYOSPARC_PATCH=231114 make build
```
Developer
===
run (for testing) via
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment