From 008fe1bd03ce6bd86eb1d26ce80f2d45864520d7 Mon Sep 17 00:00:00 2001
From: Florian Dobener <florian.dobener@physik.hu-berlin.de>
Date: Tue, 13 Jun 2023 13:47:29 +0000
Subject: [PATCH] Adds FHI local builds

---
 .gitlab-ci.yml                           |  5 +++++
 docker/mpes/fhi-local/30-config          | 23 +++++++++++++++++++++++
 docker/mpes/fhi-local/Dockerfile         |  5 +++++
 docker/mpes/fhi-local/Dockerfile.jupyter |  6 ++++++
 4 files changed, 39 insertions(+)
 create mode 100644 docker/mpes/fhi-local/30-config
 create mode 100644 docker/mpes/fhi-local/Dockerfile
 create mode 100644 docker/mpes/fhi-local/Dockerfile.jupyter

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5eb1de4..41461bb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,6 +40,11 @@ workflow:
         DIR: docker/fiji
       - IMAGE_NAME: nexus-webtop
         DIR: docker/nexus
+      - IMAGE_NAME: mpes-jupyter-fhi
+        DIR: docker/mpes/fhi-local
+        DOCKERFILE: Dockerfile.jupyter
+      - IMAGE_NAME: mpes-webtop-fhi
+        DIR: docker/mpes/fhi-local
 
 stages:
   - build
diff --git a/docker/mpes/fhi-local/30-config b/docker/mpes/fhi-local/30-config
new file mode 100644
index 0000000..ac3b359
--- /dev/null
+++ b/docker/mpes/fhi-local/30-config
@@ -0,0 +1,23 @@
+#!/usr/bin/with-contenv bash
+
+if [ ! -e /lock.file ]; then
+  # give abc a sudo shell
+  chsh abc -s /bin/bash
+  sed -e 's/%sudo       ALL=(ALL:ALL) ALL/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' \
+    -i /etc/sudoers
+  sed -e 's/^wheel:\(.*\)/wheel:\1,abc/g' -i /etc/group
+fi
+
+# create lock file after first run
+touch /lock.file
+
+# default file copies first run
+[[ ! -d /config/.config ]] && \
+        mkdir -p /config/.config && \
+        cp /defaults/bashrc /config/.bashrc && \
+        cp /defaults/startwm.sh /config/startwm.sh
+
+# permissions
+PERM=$(stat -c '%U' /config/.config)
+[[ "${PERM}" != "abc" ]] && \
+        chown -R abc:abc $(ls -a /config | awk '{if($1 != "." && $1 != ".." && $1 != "pcshare" && $1 != "localDataStore"){ print "/config/$1" }}')
diff --git a/docker/mpes/fhi-local/Dockerfile b/docker/mpes/fhi-local/Dockerfile
new file mode 100644
index 0000000..484a0a8
--- /dev/null
+++ b/docker/mpes/fhi-local/Dockerfile
@@ -0,0 +1,5 @@
+FROM gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/mpes-webtop:v0.0.1
+
+ENV PGID=5050
+COPY 30-config /etc/cont-init.d/30-config
+WORKDIR /config
diff --git a/docker/mpes/fhi-local/Dockerfile.jupyter b/docker/mpes/fhi-local/Dockerfile.jupyter
new file mode 100644
index 0000000..9fd3321
--- /dev/null
+++ b/docker/mpes/fhi-local/Dockerfile.jupyter
@@ -0,0 +1,6 @@
+FROM gitlab-registry.mpcdf.mpg.de/nomad-lab/nomad-remote-tools-hub/mpes-jupyter:v0.0.1
+
+USER root
+RUN groupadd -r metis -g 5050 && usermod -aG metis $NB_USER
+RUN usermod -g metis $NB_USER
+USER $NB_UID
-- 
GitLab