From f172443fefaeccff34e2bc5ef129a6f41c7c27b0 Mon Sep 17 00:00:00 2001
From: Markus Scheidgen <markus.scheidgen@gmail.com>
Date: Tue, 16 Jan 2024 13:05:48 +0100
Subject: [PATCH] Moved the .gui_configured folder into a subdirectory of the
 working directory.

Changelog: Changed
---
 .dockerignore          | 3 +++
 .gitignore             | 3 +++
 nomad/app/main.py      | 4 +++-
 nomad/cli/admin/run.py | 7 ++++++-
 4 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/.dockerignore b/.dockerignore
index ea6c2dbd72..d0d9e8e37c 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -43,6 +43,9 @@ gui/public/env.js
 # Ignore built gui and docs artufacts
 nomad/app/static/
 
+# Ignore files created at nomad runtime
+run/
+
 nomad/normalizing/data/*.db
 nomad/normalizing/data/*.msg
 
diff --git a/.gitignore b/.gitignore
index d8c2908d17..98aad82dcb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,9 @@ bundles
 examples/workdir/
 examples/data/uploads/*.zip
 
+# Ignore files created at nomad runtime
+run/
+
 # Side effect of running Jupyterhub locally
 jupyterhub_cookie_secret
 jupyterhub.sqlite
diff --git a/nomad/app/main.py b/nomad/app/main.py
index 1ca2109cd9..e411b14dd0 100644
--- a/nomad/app/main.py
+++ b/nomad/app/main.py
@@ -91,7 +91,9 @@ gui_folder = os.path.abspath(os.path.join(os.path.dirname(__file__), 'static/gui
 if not os.path.exists(gui_folder):
     os.makedirs(gui_folder)
 
-configured_gui_folder = os.path.join(gui_folder, '../.gui_configured')
+configured_gui_folder = os.path.join(
+    config.fs.working_directory, 'run', 'gui_configured'
+)
 if os.path.exists(configured_gui_folder):
     gui_folder = configured_gui_folder
 
diff --git a/nomad/cli/admin/run.py b/nomad/cli/admin/run.py
index c190616867..6321be3613 100644
--- a/nomad/cli/admin/run.py
+++ b/nomad/cli/admin/run.py
@@ -101,6 +101,7 @@ def run_app(
     config.meta.service = 'app'
 
     if with_gui:
+        import os
         import os.path
         import glob
         import shutil
@@ -108,7 +109,11 @@ def run_app(
         gui_folder = os.path.abspath(
             os.path.join(os.path.dirname(__file__), '../../app/static/gui')
         )
-        run_gui_folder = os.path.join(gui_folder, '../.gui_configured')
+        run_gui_folder = os.path.join(
+            config.fs.working_directory, 'run', 'gui_configured'
+        )
+        if not os.path.exists(run_gui_folder):
+            os.makedirs(run_gui_folder)
 
         # copy
         shutil.rmtree(run_gui_folder, ignore_errors=True)
-- 
GitLab