# Author: Lucas Russo
# LBNL: Lawrence Berkeley National Lab
ARG EPICS_VERSION=7.0.7
FROM lbnl-atg/epics_modules:${EPICS_VERSION}
ENV DEBIAN_FRONTEND noninteractive
# Dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3-dev \
zlib1g-dev \
libfftw3-dev \
openssh-client \
vim && \
rm -rf /var/lib/apt/lists/* && \
pip3 install \
numpy \
cothread
# QF2PREMONITOR
ARG QF2PREMONITOR_VERSION=R0.1.2
ARG QF2PREMONITOR_URL=https://github.com/slac-epics/QF2preMonitor/archive/refs/tags/${QF2PREMONITOR_VERSION}.tar.gz
ENV QF2PREMONITOR=${EPICS_MODULES}/QF2preMonitor-${QF2PREMONITOR_VERSION}
RUN set -e; \
cd ${EPICS_MODULES} && \
wget -c ${QF2PREMONITOR_URL} -O - | tar -xz && \
cd QF2preMonitor-${QF2PREMONITOR_VERSION} && \
echo "ASYN=${ASYN}" > configure/RELEASE.local && \
echo "BUSY=${BUSY}" >> configure/RELEASE.local && \
echo "AUTOSAVE=${AUTOSAVE}" >> configure/RELEASE.local && \
echo "EPICS_BASE=${EPICS_BASE}" >> configure/RELEASE.local && \
make -j$(nproc)
# FEED
ARG FEED_VERSION=docker-alsu
ARG [email protected]:drivers/FEED.git
ENV FEED=${EPICS_MODULES}/FEED
# Use ssh mount type to allow commands using ssh to use
# the docker build parameter "--ssh default=~/.ssh/id_ed25519".
# Need to run docker build with: DOCKER_BUILDKIT=1 docker build ...
#
# From: https://docs.docker.com/engine/reference/commandline/buildx_build
# From: https://www.fastruby.io/blog/docker/docker-ssh-keys.html
RUN --mount=type=ssh \
set -e; \
mkdir -p -m 0700 ~/.ssh && \
ssh-keyscan gitlab.lbl.gov >> ~/.ssh/known_hosts && \
cd ${EPICS_MODULES} && \
GIT_SSL_NO_VERIFY=true git clone ${FEED_URL} ${FEED} && \
cd ${FEED} && \
git reset --hard ${FEED_VERSION} && \
echo "USE_SYS_FFTW=YES" > configure/RELEASE.local && \
echo "ASYN=${ASYN}" >> configure/RELEASE.local && \
echo "BUSY=${BUSY}" >> configure/RELEASE.local && \
echo "AUTOSAVE=${AUTOSAVE}" >> configure/RELEASE.local && \
echo "SNCSEQ=" >> configure/RELEASE.local && \
echo "QF2PREMONITOR=${QF2PREMONITOR}" >> configure/RELEASE.local && \
echo "EPICS_BASE=${EPICS_BASE}" >> configure/RELEASE.local && \
make
ARG VCS_REF
ARG BUILD_VERSION
LABEL org.label-schema.schema-version="1.0"
LABEL org.label-schema.vcs-ref=$VCS_REF
LABEL org.label-schema.name="lbnl-atg/epics_feed"
LABEL org.label-schema.description="Debian 11 EPICS FEED docker image"
LABEL org.label-schema.url="https://gitlab.lbl.gov/drivers/FEED"
LABEL org.label-schema.version=$BUILD_VERSION
LABEL org.label-schema.docker.cmd="docker run -it --rm --name=deb11feed lbnl-atg/epics_feed /bin/bash"
CMD tail -f /dev/null
Content type
Image
Digest
sha256:d7a724558…
Size
545 MB
Last updated
over 3 years ago
docker pull lerwys/epics_feed