Warning, /edpm/docker/ml4fpga-pre/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 rootproject/root:6.28.00-ubuntu22.04
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 gdb ninja-build 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 config root branch="v6-28-02" &&\
0068 edpm set root /opt/root &&\
0069 #edpm install -j${BUILD_THREADS} root &&\
0070 echo "!!!ROOT INSTALLATION DONE!!!"
0071
0072
0073 # aa
0074 RUN python3 -m pip install --user --upgrade --force-reinstall edpm &&\
0075 edpm config jana2 branch="master" &&\
0076 edpm config jana2 cmake_flags="-DUSE_PODIO=Off -DUSE_ROOT=On" &&\
0077 edpm install jana4ml4fpga --deps-only
0078
0079 # jupyterab
0080 RUN python3 -m pip install jupyterlab
0081
0082 USER root
0083
0084 # Create the entrypoint script
0085 RUN echo '#!/bin/bash' > /entrypoint.sh && \
0086 echo 'set -e' >> /entrypoint.sh && \
0087 echo '' >> /entrypoint.sh && \
0088 echo '# Source the environment file' >> /entrypoint.sh && \
0089 echo 'source /home/eicuser/.local/share/edpm/env.sh' >> /entrypoint.sh && \
0090 echo '' >> /entrypoint.sh && \
0091 echo '# Execute the command provided as arguments to the script' >> /entrypoint.sh && \
0092 echo 'exec "$@"' >> /entrypoint.sh
0093
0094 # Make the entrypoint script executable
0095 RUN chmod +x /entrypoint.sh
0096
0097 # Set the entrypoint script as the ENTRYPOINT
0098 ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
0099 USER eicuser
0100
0101 RUN echo "done"
0102
0103 #CMD jupyter lab --ip=0.0.0.0 --no-browser \
0104 # --NotebookApp.custom_display_url=http://127.0.0.1:8888 \
0105 # --NotebookApp.token=''