Warning, /edpm/docker/eicrecon-ubuntu22-prereq/Dockerfile is written in an unsupported language. File is not indexed.
0001 #
0002 # docker build -t eicdev/eicrecon-ubuntu22-prereq:latest .
0003 # docker build -t eicdev/eicrecon-ubuntu22-prereq:latest --build-arg BUILD_THREADS=24 .
0004 # docker push eicdev/eicrecon-ubuntu22-prereq:latest
0005 #
0006 # docker run --rm -it --init eicdev/eicrecon-ubuntu22-prereq:latest
0007 # docker run --rm -it --init -p8888:8888 eicdev/eicrecon-ubuntu22-prereq:latest
0008
0009 FROM ubuntu:latest
0010
0011 # Number of build threads
0012 ARG BUILD_THREADS=8
0013
0014 ENV EIC_ROOT /eic
0015 ENV CONTAINER_ROOT /container
0016 ENV APP_ROOT /container/app
0017
0018 SHELL ["/bin/bash", "-c"]
0019
0020 ARG DEBIAN_FRONTEND=noninteractive
0021
0022 RUN apt-get update &&\
0023 apt-get install -y python3-pip python3-dev sudo git cmake apt-utils &&\
0024 apt-get install -y dialog apt-utils&&\
0025 apt-get install -y tzdata &&\
0026 apt-get install -y libmsgsl-dev libftgl-dev libxml2-dev libldap2-dev libgsl0-dev libfftw3-dev libmysqlclient-dev libavahi-compat-libdnssd-dev libssl-dev python3-dev libcfitsio-dev xlibmesa-glu-dev libkrb5-dev gfortran graphviz-dev libpcre3-dev libglew-dev libxmu-dev libexpat-dev python3-jinja2 libtbb-dev libxerces-c-dev cmake libboost-filesystem-dev dpkg-dev libspdlog-dev libxext-dev qtbase5-dev libqt5opengl5-dev libx11-dev libboost-test-dev libocct-draw-dev libeigen3-dev libocct-data-exchange-dev python3-dev libocct-foundation-dev libfmt-dev libxft-dev libboost-program-options-dev libboost-dev binutils libxpm-dev curl libxerces-c3-dev occt-misc python3-yaml &&\
0027 rm -rf /var/lib/apt/lists/* &&\
0028 python3 -m pip install --upgrade pip
0029
0030
0031 RUN useradd -m -G sudo eicuser
0032 RUN echo "eicuser ALL=(ALL) NOPASSWD:ALL">>/etc/sudoers
0033
0034 RUN install -d -o eicuser -g eicuser ${CONTAINER_ROOT} && \
0035 install -d -o eicuser -g eicuser ${APP_ROOT} && \
0036 install -d -o eicuser -g eicuser /eic
0037
0038 USER eicuser
0039 WORKDIR /home/eicuser
0040 ENV PATH "$PATH:/home/eicuser/.local/bin"
0041
0042 ENV LC_ALL=C.UTF-8
0043 ENV LANG=C.UTF-8
0044
0045
0046 RUN python3 -m pip install --user --upgrade --force-reinstall click &&\
0047 python3 -m pip install --user --upgrade --force-reinstall appdirs &&\
0048 python3 -m pip install --user --upgrade --force-reinstall edpm &&\
0049 edpm --top-dir=/container/app &&\
0050 edpm
0051
0052
0053 # THIS IS NOT WORKING! HuCK debconf
0054 # # https://github.com/moby/moby/issues/27988
0055 #
0056 # # install all packets but not eicrecon
0057 # RUN sudo apt-get update &&\
0058 # echo $(edpm req --all ubuntu) &&\
0059 # sudo echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections &&\
0060 # sudo chmod 777 /var/cache/debconf/ &&\
0061 # sudo chmod 777 /var/cache/debconf/passwords.dat &&\
0062 # sudo apt-get -y -q install $(edpm req --all ubuntu) &&\
0063 # sudo rm -rf /var/lib/apt/lists/*
0064 # (!) Build with C++20
0065 # eicrecon stack
0066 RUN edpm config global cxx_standard=17 &&\
0067 edpm install clhep && edpm clean clhep &&\
0068 edpm install eigen3 && edpm clean eigen3
0069
0070 RUN edpm config root branch="v6-28-00" &&\
0071 edpm config root cmake_custom_flags="-Droofit=OFF" &&\
0072 edpm install -j${BUILD_THREADS} root && edpm clean root &&\
0073 edpm install hepmc3 && edpm clean hepmc3 &&\
0074 edpm install -j${BUILD_THREADS} geant4 && edpm clean geant4
0075
0076
0077 # aa
0078 RUN python3 -m pip install --user --upgrade --force-reinstall edpm &&\
0079 edpm install eicrecon --deps-only
0080
0081 # jupyterab
0082 RUN python3 -m pip install jupyterlab
0083
0084 ADD test_jsroot.ipynb /home/eicuser/
0085
0086 RUN echo "done"
0087
0088 CMD jupyter lab --ip=0.0.0.0 --no-browser \
0089 --NotebookApp.custom_display_url=http://127.0.0.1:8888 \
0090 --NotebookApp.token=''