-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Dockerfile used for various images being regularly used. These files …
…have been combined into a single repo for simpler maintainance.
- Loading branch information
1 parent
bbd3143
commit a4eab2a
Showing
11 changed files
with
573 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
FROM ubuntu:latest | ||
|
||
LABEL authors="Pete Bunting" | ||
LABEL maintainer="[email protected]" | ||
|
||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 | ||
ENV PATH=/opt/miniconda/bin:$PATH | ||
|
||
RUN apt-get update --fix-missing && \ | ||
apt-get install -y apt-utils wget bzip2 ca-certificates curl git binutils vim libfftw3-dev gnuplot libgtk2.0-dev libgdal-dev libhdf5-dev libhdf5-100 libblas-dev libblas3 liblapack-dev liblapack3 liblapack-doc unzip make && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \ | ||
/bin/bash ~/miniconda.sh -b -p /opt/miniconda && \ | ||
rm ~/miniconda.sh && \ | ||
/opt/miniconda/bin/conda clean -tipsy && \ | ||
ln -s /opt/miniconda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ | ||
echo ". /opt/miniconda/etc/profile.d/conda.sh" >> ~/.bashrc && \ | ||
echo "conda activate base" >> ~/.bashrc | ||
|
||
# Use python 3.7, update conda base and install AU-EOED software stack | ||
RUN conda install --yes -c conda-forge python=3.7; sync && conda update --yes -n base conda; sync && \ | ||
conda install --yes -c au-eoed -c conda-forge python=3.7 eodatadown arcsi rsgislib pb_process_tools sen1-ard-gamma compute-job-recorder scikit-learn scikit-image scikit-optimize scikit-plot scikit-fuzzy bayesian-optimization matplotlib pandas statsmodels h5py scipy rasterio shapely networkx sqlalchemy pycurl xgboost catboost lightgbm tpot seaborn ml_tooling cartopy numba pip sphinx elevation rtree luigi tqdm weasyprint jinja2; sync \ | ||
&& chmod +x /opt/miniconda/bin/*; sync \ | ||
&& conda clean --all -y; sync \ | ||
&& conda clean -tipsy && sync | ||
|
||
RUN pip install pyod fiona geopandas schedule gsutil && sync | ||
|
||
# set gdal and proj data paths | ||
ENV GDAL_DATA=/opt/miniconda/share/gdal | ||
ENV PROJ_LIB=/opt/miniconda/share/proj | ||
|
||
RUN mkdir -p /opt/gamma | ||
WORKDIR /opt/gamma | ||
COPY GAMMA_SOFTWARE-20190613_MSP_ISP_DIFF_LAT.src.tar.gz /opt/gamma/GAMMA_SOFTWARE-20190613_MSP_ISP_DIFF_LAT.src.tar.gz | ||
RUN cd /opt/gamma && tar -zxf /opt/gamma/GAMMA_SOFTWARE-20190613_MSP_ISP_DIFF_LAT.src.tar.gz \ | ||
&& rm /opt/gamma/GAMMA_SOFTWARE-20190613_MSP_ISP_DIFF_LAT.src.tar.gz | ||
|
||
ENV GAMMA_HOME=/opt/gamma/GAMMA_SOFTWARE-20190613 | ||
ENV MSP_HOME=$GAMMA_HOME/MSP \ | ||
ISP_HOME=$GAMMA_HOME/ISP \ | ||
DIFF_HOME=$GAMMA_HOME/DIFF \ | ||
DISP_HOME=$GAMMA_HOME/DISP \ | ||
LAT_HOME=$GAMMA_HOME/LAT | ||
|
||
ENV PATH=$PATH:$MSP_HOME/bin:$ISP_HOME/bin:$DIFF_HOME/bin:$LAT_HOME/bin:$DISP_HOME/bin:$MSP_HOME/scripts:$ISP_HOME/scripts:$DIFF_HOME/scripts:$LAT_HOME/scripts:$DISP_HOME/scripts \ | ||
HDF5_DISABLE_VERSION_CHECK=1 \ | ||
GNUTERM=qt \ | ||
GAMMA_RASTER="BMP" \ | ||
OS=linux64 | ||
|
||
RUN cd $GAMMA_HOME/DISP/src; make -f makefile_static \ | ||
&& cd $GAMMA_HOME/DIFF/src; make -f makefile_static \ | ||
&& cd $GAMMA_HOME/ISP/src; make -f makefile_static \ | ||
&& cd $GAMMA_HOME/LAT/src; make -f makefile_static \ | ||
&& cd $GAMMA_HOME/ISP/src; make -f makefile_static \ | ||
&& sync | ||
|
||
# Add Tini | ||
ENV TINI_VERSION v0.18.0 | ||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini | ||
RUN chmod +x /tini | ||
ENTRYPOINT ["/tini", "--"] | ||
|
||
CMD [ "/bin/bash" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
FROM ubuntu:18.04 | ||
|
||
LABEL authors="Pete Bunting" | ||
LABEL maintainer="[email protected]" | ||
|
||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 \ | ||
DEBIAN_FRONTEND=noninteractive \ | ||
HOME=/home/spack \ | ||
SPACK_ROOT=/home/spack/src/spack \ | ||
FORCE_UNSAFE_CONFIGURE=1 | ||
|
||
|
||
RUN apt-get -yqq update --fix-missing \ | ||
&& apt-get -yqq install build-essential \ | ||
ca-certificates \ | ||
curl \ | ||
g++ \ | ||
gcc \ | ||
gfortran \ | ||
git \ | ||
gnupg2 \ | ||
make \ | ||
python \ | ||
unzip \ | ||
apt-utils \ | ||
autoconf \ | ||
bzip2 \ | ||
vim \ | ||
mercurial \ | ||
sudo \ | ||
gzip \ | ||
tar \ | ||
wget \ | ||
binutils \ | ||
coreutils \ | ||
environment-modules \ | ||
&& apt-get clean \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& ln -s /usr/bin/tclsh8.6 /usr/bin/tclsh | ||
|
||
|
||
# Add non-privileged, but system docker user with sudo rights | ||
RUN groupadd -r spack -g 901 && \ | ||
useradd -u 901 -r -m -g spack spack && \ | ||
echo "spack ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/spack && \ | ||
chmod 0440 /etc/sudoers.d/spack | ||
# this is also the user that executes all commands below | ||
USER spack | ||
WORKDIR $HOME | ||
|
||
COPY packages.yaml .spack/packages.yaml | ||
RUN sudo chown spack:spack -R $HOME | ||
|
||
# install spack | ||
RUN mkdir -p $HOME/src/spack \ | ||
&& git clone https://github.com/petebunting/spack.git $HOME/src/spack | ||
|
||
ENV PATH=$SPACK_ROOT/bin:$PATH | ||
|
||
RUN spack install sqlite \ | ||
&& spack install openblas \ | ||
&& spack install python \ | ||
&& spack install cmake \ | ||
&& spack install py-numpy \ | ||
&& spack install boost \ | ||
&& spack install cgal \ | ||
&& spack install py-scipy \ | ||
&& spack install hdf5 \ | ||
&& spack install kealib \ | ||
&& spack install gdal \ | ||
&& spack install py-h5py \ | ||
&& spack install py-chardet \ | ||
&& spack install py-urllib3 \ | ||
&& spack install py-requests \ | ||
&& spack install py-nose \ | ||
&& spack install py-matplotlib \ | ||
&& spack install py-pandas \ | ||
&& spack install py-seaborn \ | ||
&& spack install py-rasterio \ | ||
&& spack install py-networkx \ | ||
&& spack install py-scikit-image \ | ||
&& spack install py-scikit-learn \ | ||
&& spack install py-tpot \ | ||
&& spack install py-ml-tooling \ | ||
&& spack install py-pyod \ | ||
&& spack install py-xarray \ | ||
&& spack install py-statsmodels \ | ||
&& spack install py-pycurl \ | ||
&& spack install py-sqlalchemy \ | ||
&& spack install py-sphinx \ | ||
&& spack install py-bokeh \ | ||
&& spack install py-pyepsg \ | ||
&& spack install py-openpyxl \ | ||
&& spack install py-psycopg2 \ | ||
&& spack install py-fiona \ | ||
&& spack install py-geopandas \ | ||
&& spack install py-flask \ | ||
&& spack install py-numba \ | ||
&& spack install py-rios \ | ||
&& spack install py-python-fmask \ | ||
&& spack install sixs \ | ||
&& spack install py-py6s \ | ||
&& spack install py-google-cloud \ | ||
&& spack install py-planet \ | ||
&& spack install py-opendatacube \ | ||
&& spack clean -a | ||
|
||
RUN spack install rsgislib \ | ||
&& spack install py-arcsi \ | ||
&& spack install py-compute-job-recorder \ | ||
&& spack install py-eodatadown \ | ||
&& spack clean -a | ||
|
||
|
||
# startup: force the use of a login shell | ||
COPY genentrypoint.sh $HOME/genentrypoint.sh | ||
RUN /bin/bash $HOME/genentrypoint.sh | ||
|
||
USER root | ||
RUN mv $HOME/entrypoint.sh /etc/entrypoint.sh \ | ||
&& chmod a+x /etc/entrypoint.sh | ||
USER spack | ||
|
||
ENTRYPOINT ["/etc/entrypoint.sh"] | ||
CMD ["/bin/bash"] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
#!/bin/bash -l | ||
|
||
. /usr/share/modules/init/sh | ||
. /home/spack/src/spack/share/spack/setup-env.sh | ||
|
||
spack load python | ||
spack load gdal | ||
spack load sixs | ||
spack load rsgislib | ||
spack load postgresql | ||
spack load hdf5 | ||
spack load qhull | ||
spack load sqlite | ||
spack load py-affine | ||
spack load py-alabaster | ||
spack load py-arcsi | ||
spack load py-argparse | ||
spack load py-asn1crypto | ||
spack load py-attrs | ||
spack load py-babel | ||
spack load py-bokeh | ||
spack load py-bottleneck | ||
spack load py-cachetools | ||
spack load py-certifi | ||
spack load py-cftime | ||
spack load py-chardet | ||
spack load py-click | ||
spack load py-click-plugins | ||
spack load py-cligj | ||
spack load py-cloudpickle | ||
spack load py-compute-job-recorder | ||
spack load py-cycler | ||
spack load py-cython | ||
spack load py-dask | ||
spack load py-deap | ||
spack load py-decorator | ||
spack load py-docutils | ||
spack load py-eodatadown | ||
spack load py-et-xmlfile | ||
spack load py-fiona | ||
spack load py-flask | ||
spack load py-geopandas | ||
spack load py-gitdb | ||
spack load py-gitpython | ||
spack load py-google-auth | ||
spack load py-google-cloud | ||
spack load py-google-resumable-media-python | ||
spack load py-h5py | ||
spack load py-idna | ||
spack load py-imagesize | ||
spack load py-itsdangerous | ||
spack load py-jdcal | ||
spack load py-jinja2 | ||
spack load py-joblib | ||
spack load py-jsonschema | ||
spack load py-kiwisolver | ||
spack load py-llvmlite | ||
spack load py-locket | ||
spack load py-markupsafe | ||
spack load py-matplotlib | ||
spack load py-ml-tooling | ||
spack load py-munch | ||
spack load py-netcdf4 | ||
spack load py-networkx | ||
spack load py-nose | ||
spack load py-numba | ||
spack load py-numexpr | ||
spack load py-numpy | ||
spack load py-opendatacube | ||
spack load py-openpyxl | ||
spack load py-packaging | ||
spack load py-pandas | ||
spack load py-partd | ||
spack load py-patsy | ||
spack load py-pillow | ||
spack load py-pkgconfig | ||
spack load py-planet | ||
spack load py-protobuf | ||
spack load py-psycopg2 | ||
spack load py-py6s | ||
spack load py-pyasn1 | ||
spack load py-pycurl | ||
spack load py-pyepsg | ||
spack load py-pygments | ||
spack load py-pyod | ||
spack load py-pyparsing | ||
spack load py-pypeg2 | ||
spack load py-pyproj | ||
spack load py-pysolar | ||
spack load py-python-dateutil | ||
spack load py-python-fmask | ||
spack load py-pytz | ||
spack load py-pywavelets | ||
spack load py-pyyaml | ||
spack load py-rasterio | ||
spack load py-requests | ||
spack load py-rios | ||
spack load py-rsa | ||
spack load py-scikit-image | ||
spack load py-scikit-learn | ||
spack load py-scipy | ||
spack load py-seaborn | ||
spack load py-setuptools | ||
spack load py-setuptools-scm | ||
spack load py-shapely | ||
spack load py-six | ||
spack load py-smmap | ||
spack load py-snowballstemmer | ||
spack load py-snuggs | ||
spack load py-sphinx | ||
spack load py-sphinx-rtd-theme | ||
spack load py-sphinxcontrib-websupport | ||
spack load py-sqlalchemy | ||
spack load py-statsmodels | ||
spack load py-stopit | ||
spack load py-toolz | ||
spack load py-tornado | ||
spack load py-tpot | ||
spack load py-tqdm | ||
spack load py-urllib3 | ||
spack load py-vcversioner | ||
spack load py-werkzeug | ||
spack load py-xarray | ||
spack load python | ||
|
||
echo "#!/bin/bash -l" > /home/spack/entrypoint.sh | ||
echo ". /home/spack/src/spack/share/spack/setup-env.sh" >> /home/spack/entrypoint.sh | ||
echo "export PATH=$PATH" >> /home/spack/entrypoint.sh | ||
echo "export PYTHONPATH=$PYTHONPATH" >> /home/spack/entrypoint.sh | ||
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> /home/spack/entrypoint.sh | ||
echo "export MANPATH=$MANPATH" >> /home/spack/entrypoint.sh | ||
echo "export LIBRARY_PATH=$LIBRARY_PATH" >> /home/spack/entrypoint.sh | ||
echo "export CPATH=$CPATH" >> /home/spack/entrypoint.sh | ||
echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> /home/spack/entrypoint.sh | ||
echo "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH" >> /home/spack/entrypoint.sh | ||
echo 'exec "$@"' >> /home/spack/entrypoint.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
packages: | ||
python: | ||
version: [3.7.4] | ||
variants: +shared+tkinter+uuid | ||
py-numpy: | ||
variants: ^openblas | ||
hdf5: | ||
variants: +cxx+hl+shared~mpi | ||
netcdf: | ||
variants: ~mpi | ||
py-h5py: | ||
variants: ~mpi | ||
gdal: | ||
version: [3.0.1] | ||
variants: +python+qhull+sqlite3+armadillo+geos+kea+hdf5+openjpeg+pg+netcdf | ||
libsigcpp: | ||
version: [2.9.3] | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
FROM ubuntu:latest | ||
|
||
LABEL authors="Pete Bunting" | ||
LABEL maintainer="[email protected]" | ||
|
||
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 | ||
ENV PATH=/opt/miniconda/bin:$PATH | ||
|
||
RUN apt-get update --fix-missing && \ | ||
apt-get install -y apt-utils wget bzip2 ca-certificates curl git binutils vim make && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \ | ||
/bin/bash ~/miniconda.sh -b -p /opt/miniconda && \ | ||
rm ~/miniconda.sh && \ | ||
/opt/miniconda/bin/conda clean -tipsy && \ | ||
ln -s /opt/miniconda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ | ||
echo ". /opt/miniconda/etc/profile.d/conda.sh" >> ~/.bashrc && \ | ||
echo "conda activate base" >> ~/.bashrc | ||
|
||
# Use python 3.7, update conda base and install AU-EOED software stack | ||
RUN conda install --yes -c conda-forge python=3.7; sync && conda update --yes -n base conda; sync && \ | ||
conda install --yes -c au-eoed -c conda-forge python=3.7 eodatadown arcsi rsgislib pb_process_tools sen1-ard-gamma compute-job-recorder scikit-learn scikit-image scikit-optimize scikit-plot scikit-fuzzy bayesian-optimization matplotlib pandas statsmodels h5py scipy rasterio shapely networkx sqlalchemy pycurl xgboost catboost lightgbm tpot seaborn ml_tooling cartopy numba pip sphinx elevation rtree luigi tqdm weasyprint jinja2 keras keras-preprocessing pytables parallel plotly bokeh pygal jupyterlab psutil; sync \ | ||
&& chmod +x /opt/miniconda/bin/*; sync \ | ||
&& conda clean --all -y; sync \ | ||
&& conda clean -tipsy && sync | ||
|
||
RUN pip install pyod fiona geopandas schedule gsutil cvxopt dropbox && sync | ||
|
||
# set gdal and proj data paths | ||
ENV GDAL_DATA=/opt/miniconda/share/gdal | ||
ENV PROJ_LIB=/opt/miniconda/share/proj | ||
|
||
# Add Tini | ||
ENV TINI_VERSION v0.18.0 | ||
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini | ||
RUN chmod +x /tini | ||
ENTRYPOINT ["/tini", "--"] | ||
|
||
CMD [ "/bin/bash" ] | ||
|
||
|
Oops, something went wrong.