-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
97 lines (66 loc) · 2.73 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Copyright (c) HETDEX Data Team
#ARG BASE_CONTAINER=jupyter/scipy-notebook:2022-08-15
ARG BASE_CONTAINER=quay.io/jupyter/scipy-notebook:latest
FROM $BASE_CONTAINER
LABEL maintainer="Erin Mentuch Cooper <erin@astro.as.utexas.edu>"
USER root
RUN apt-get update && apt-get install -y poppler-utils
USER jovyan
RUN echo 'PS1="\w $ "' >> ~/.bashrc
#force earlier versions than what hetdex-api will install
RUN pip install numpy==1.26.4
# pip install packages
RUN pip install speclite && \
pip install agavepy && \
pip install dustmaps && \
pip install nway && \
pip install alive-progress && \
pip install holoviews && \
pip install corner && \
pip install tqdm && \
pip install ligo.skymap && \
pip install plotly && \
pip install -U kaleido && \
pip install umap-learn && \
pip install pyimfit && \
pip install --extra-index-url https://gate.mpe.mpg.de/pypi/simple/ pyhetdex
# Pip install hetdex-api, elixer in software directory
RUN chown -R jovyan /home/jovyan/ && \
chmod 777 /home/jovyan
RUN mkdir /home/jovyan/software/
WORKDIR /home/jovyan/software
RUN pip install tables
RUN chown -R jovyan /home/jovyan/software && \
chmod 777 /home/jovyan/software
RUN git clone https://github.com/HETDEX/hetdex_api.git && \
( cd hetdex_api && pip install -e .) && \
fix-permissions "/home/jovyan"
RUN git clone https://github.com/HETDEX/elixer.git && \
cd elixer && git checkout dev-dustin && pip install -e . && \
fix-permissions "/home/jovyan"
RUN pip install tapipy --ignore-installed certifi
RUN pip install --upgrade jupyterlab jupyterlab_server jupyter_server traitlets nbformat
RUN chown -R jovyan /home/jovyan/software && \
chmod 777 /home/jovyan/software
RUN export HOME='/home/jovyan'
RUN echo "export PATH=$HOME/.local/bin:${PATH}" >> ~/.bashrc
WORKDIR $HOME
RUN cp -r software/hetdex_api/notebooks/ /home/jovyan/hetdex-notebooks
# Copy notebooks for catalog access
RUN mkdir /home/jovyan/your_temporary_workspace && \
cp software/hetdex_api/notebooks/public/HETDEX_*.ipynb /home/jovyan/your_temporary_workspace/
# Import matplotlib the first time to build the font cache.
ENV XDG_CACHE_HOME="/home/jovyan/.cache/"
RUN MPLBACKEND=Agg python -c "import matplotlib.pyplot" && \
fix-permissions "/home/jovyan"
WORKDIR /home/jovyan
RUN chown -R jovyan /home/jovyan/ && \
chmod 777 /home/jovyan && \
chmod -R 777 /home/jovyan/software/ && \
chmod -R 777 /home/jovyan/hetdex-notebooks/ && \
chmod -R 777 /home/jovyan/your_temporary_workspace/ && \
chmod -R 777 /home/jovyan/.config/ && \
chmod -R 777 /home/jovyan/.cache/matplotlib/ && \
chmod -R 777 /home/jovyan/.cache/
RUN ln -s /home/jovyan/team_classify/shared shared
USER jovyan