-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
60 lines (42 loc) · 1.81 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
FROM jupyter/minimal-notebook AS base
# Install gammapy
RUN mamba install gcc jupyterlab "gammapy==1.2" ipykernel --yes
WORKDIR /gammapy-tools
# Clone V2DL3
WORKDIR /gammapy-tools
RUN git clone https://github.com/VERITAS-Observatory/V2DL3.git
WORKDIR /gammapy-tools/V2DL3
# Because its an env install of requirements
# Note the python version in the latest test throws issues with pytest
RUN grep -A 100 "dependencies:" environment-eventdisplay.yml | grep "-" | grep -v "python" | awk '{print $2}' | xargs mamba install --yes
# root_numpy throws issues too. Only VEGAS uses it
RUN mv setup.py _setup.py && grep -v "root_numpy" _setup.py > setup.py && pip install .
# Final product
FROM jupyter/minimal-notebook AS final
# Copy across the conda/mamba install
COPY --from=base /opt/conda /opt/conda
# Contents of repo
WORKDIR /gammapy-tools/tmp_build
# RUN gammapy download datasets
ENV GAMMAPY_DATA=/gammapy-tools/gammapy-datasets/1.2/
RUN mkdir -p $GAMMAPY_DATA
WORKDIR /gammapy-tools/
RUN gammapy download datasets
# Add package
ADD --chown=1000:100 . /gammapy-tools/tmp_build/gammapy-tools
WORKDIR /gammapy-tools/tmp_build/gammapy-tools
# RUN ls -lah
RUN pip install .
# RUN ./gammapy_tools/Hipparcos_MAG8_1997.dat $GAMMAPY_DATA/catalogs/
RUN cp /opt/conda/lib/python3.11/site-packages/gammapy_tools/Hipparcos_MAG8_1997.dat $GAMMAPY_DATA/
RUN wget https://raw.githubusercontent.com/gammapy/gammapy/main/gammapy/datasets/map.py -O /opt/conda/lib/python3.11/site-packages/gammapy/datasets/map.py
USER root
RUN mkdir /local_data
# Clean up
RUN rm -r /gammapy-tools/tmp_build
USER jovyan
RUN mamba clean -a --yes
WORKDIR /local_data
# Keep alive for Docker ipykernel usage
RUN echo -e "#!/bin/bash\nwhile true; do sleep 5; done" >> /gammapy-tools/keep_alive.sh ; chmod a+x /gammapy-tools/keep_alive.sh
CMD ["/gammapy-tools/keep_alive.sh"]