From c89ecbd52d80268dff9e31b92150e8763dbd8e50 Mon Sep 17 00:00:00 2001
From: Hauke Kirchner <hauke.gronenberg@gwdg.de>
Date: Fri, 7 Feb 2025 16:09:32 +0000
Subject: [PATCH] added new custom container for ML work with Python and R

---
 code/container/dlc-python-r.def | 79 +++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 code/container/dlc-python-r.def

diff --git a/code/container/dlc-python-r.def b/code/container/dlc-python-r.def
new file mode 100644
index 0000000..e5b4bad
--- /dev/null
+++ b/code/container/dlc-python-r.def
@@ -0,0 +1,79 @@
+Bootstrap: docker
+From: condaforge/miniforge3
+
+%post
+    export DEBIAN_FRONTEND=noninteractive
+    apt update
+    apt upgrade -y
+
+    apt install -y openssh-client
+
+    apt install -y --no-install-recommends software-properties-common dirmngr
+    wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
+    add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
+    add-apt-repository ppa:c2d4u.team/c2d4u4.0+
+    apt update
+
+    add-apt-repository ppa:ubuntugis/ubuntugis-unstable
+    apt-get update
+    apt-get install -y libgdal-dev libgeos++-dev libudunits2-dev libproj-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev libfreetype6-dev libxt-dev libfftw3-dev
+
+
+    apt install -y \
+        r-base \
+        r-cran-caret \
+        r-cran-crayon \
+        r-cran-devtools \
+        r-cran-forecast \
+        r-cran-hexbin \
+        r-cran-htmltools \
+        r-cran-htmlwidgets \
+        r-cran-plyr \
+        r-cran-randomforest \
+        r-cran-rcurl \
+        r-cran-reshape2 \
+        r-cran-rmarkdown \
+        r-cran-rodbc \
+        r-cran-rsqlite \
+        r-cran-shiny \
+        r-cran-tidyverse
+
+    # install lidR
+    #Rscript -e "install.packages(c('lidR'), repos='https://ftp.gwdg.de/pub/misc/cran/')"
+
+    Rscript -e "install.packages(c('assertthat', 'dbscan', 'raster', 'data.table', 'Rcpp','DBI', 'e1071', 'proxy', 'magrittr'), repos='https://ftp.gwdg.de/pub/misc/cran/')"
+
+    apt install -y libclang-dev lsb-release psmisc sudo
+    ubuntu_release=$(lsb_release --codename --short)
+    wget https://download2.rstudio.org/server/${ubuntu_release}/amd64/rstudio-server-2023.12.1-402-amd64.deb
+    dpkg --install rstudio-server-2023.12.1-402-amd64.deb
+    rm rstudio-server-2023.12.1-402-amd64.deb
+
+    echo 'ftp_proxy=http://www-cache.gwdg.de:3128' >> /usr/lib/R/etc/Renviron.site
+    echo 'https_proxy=http://www-cache.gwdg.de:3128' >> /usr/lib/R/etc/Renviron.site
+    echo 'http_proxy=http://www-cache.gwdg.de:3128' >> /usr/lib/R/etc/Renviron.site
+
+    echo '' >> /usr/lib/R/etc/Renviron.site
+
+    conda install --quiet --yes \
+        'ipyparallel=8.8.0' \
+        'jupyter-rsession-proxy=2.2.1' \
+        'notebook=7.2.1' \
+        'jupyterhub=4.1.5' \
+        'jupyterlab=4.2.3'
+
+    conda install --quiet --yes \
+        dgl \
+        igraph \
+        keras \
+        pandas \
+        pydot \
+        scikit-learn \
+        scipy \
+        seaborn
+
+    conda install --quiet --yes --channel pytorch --channel nvidia \
+        pytorch \
+        pytorch-cuda=12.1 \
+        torchaudio \
+        torchvision
\ No newline at end of file
-- 
GitLab