diff --git a/docker-compose-keycloak-firstrun.yml b/docker-compose-keycloak-firstrun.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8879b5d35c8a8bc5878d35405de9786588e054ed
--- /dev/null
+++ b/docker-compose-keycloak-firstrun.yml
@@ -0,0 +1,50 @@
+include:
+  - docker-compose-keycloak.yml
+
+volumes:
+  keycloak-config:
+    name: keycloak-firstrun
+
+services:
+  # Import LINCS realm
+  keycloak-firstrun:
+    image: adorsys/keycloak-config-cli:latest
+    env_file: 
+      - "../leafwriter.env"
+    environment:
+      - KEYCLOAK_URL=http://keycloak:8080/
+      - KEYCLOAK_USER=tempadmin
+      - KEYCLOAK_PASSWORD=tempadmin
+      - KEYCLOAK_AVAILABILITYCHECK_ENABLED=true
+      - KEYCLOAK_AVAILABILITYCHECK_TIMEOUT=120s
+      - IMPORT_FILES_LOCATIONS=/config/leafwriter-conf.json
+      - IMPORT_VARSUBSTITUTION_ENABLED=true
+    volumes:
+      - ./keycloak-provisioning-files:/config
+    depends_on:
+      - keycloak
+    networks:
+      - keycloak-net
+  
+  # Second run of Keycloak-config-cli Tool to automatically create permanent Keycloak admin, used for gui login as well as auth-api
+  keycloak-secondrun:
+    image: adorsys/keycloak-config-cli:latest
+    env_file: 
+      - "../leafwriter.env"
+    environment:
+      - KEYCLOAK_URL=http://keycloak:8080/
+      - KEYCLOAK_USER=tempadmin
+      - KEYCLOAK_PASSWORD=tempadmin
+      - KEYCLOAK_AVAILABILITYCHECK_ENABLED=true
+      - KEYCLOAK_AVAILABILITYCHECK_TIMEOUT=120s
+      - IMPORT_FILES_LOCATIONS=/config/leafwriter-conf-master.json
+      - IMPORT_VARSUBSTITUTION_ENABLED=true
+    volumes:
+      - ./keycloak-provisioning-files:/config
+    depends_on:
+      keycloak:
+        condition: service_started
+      keycloak-firstrun:
+        condition: service_completed_successfully
+    networks:
+      - keycloak-net
\ No newline at end of file
diff --git a/docker-compose-keycloak.yml b/docker-compose-keycloak.yml
index f46bf1fc7fdce21ac239ee8e0e6fba8e1cda0833..b6ce344c6307962eaeced366014aaac3e61b787f 100644
--- a/docker-compose-keycloak.yml
+++ b/docker-compose-keycloak.yml
@@ -1,12 +1,10 @@
-version: '3'
-
 volumes:
   keycloak-data:
     name: keycloakdb
 
 services:
     keycloakdb:
-        image: postgres:11
+        image: postgres:17
         ports:
             - "5406:5432"
         environment:
@@ -15,6 +13,8 @@ services:
             - POSTGRES_DB=keycloak
         volumes:
             - ./keycloak-data:/var/lib/postgresql/data
+        networks:
+            - keycloak-net
     keycloak:
         image: keycloak/keycloak
         command: start        
@@ -24,11 +24,14 @@ services:
             - keycloakdb
         depends_on:
             - keycloakdb
+        networks:
+            - keycloak-net
         volumes:
             - ./opt-keycloak:/opt/keycloak/providers
         environment:
-            - KEYCLOAK_ADMIN=admin
-            - KEYCLOAK_ADMIN_PASSWORD=admin
+            - KC_BOOTSTRAP_ADMIN_USERNAME=tempadmin
+            - KC_BOOTSTRAP_ADMIN_PASSWORD=tempadmin
+            - KC_BOOTSTRAP_ADMIN_EXPIRATION=10
             - KC_DB_USERNAME=postgres
             - KC_DB_PASSWORD=postgres
             - KC_DB=postgres
@@ -39,3 +42,6 @@ services:
             - KC_HTTP_ENABLED=true
             - KC_HOSTNAME_STRICT_HTTPS=false
             - KC_HEALTH_ENABLED=true
+
+networks:
+    keycloak-net:
\ No newline at end of file
diff --git a/keycloak-provisioning-files/leafwriter-conf-master.json b/keycloak-provisioning-files/leafwriter-conf-master.json
new file mode 100644
index 0000000000000000000000000000000000000000..63e83c745e948ddefc731c40098be8a56869aa88
--- /dev/null
+++ b/keycloak-provisioning-files/leafwriter-conf-master.json
@@ -0,0 +1,20 @@
+{
+  "id": "master",
+  "realm": "master",
+  "users": [
+    {
+      "username": "$(env:keycloak_admin)",
+      "enabled": true,
+      "realmRoles": [
+        "admin",
+        "default-roles-master"
+      ],
+      "credentials": [
+        {
+          "type": "password",
+          "value": "$(env:keycloak_password)"
+        }
+      ]
+    }
+  ]  
+}
diff --git a/authapi b/nginx-sample-conf-files/authapi
similarity index 74%
rename from authapi
rename to nginx-sample-conf-files/authapi
index 6776ba8490f5f39f38f966579726e868b1cdc470..670a04aee6284610654765847200ac6dbeb7eb46 100644
--- a/authapi
+++ b/nginx-sample-conf-files/authapi
@@ -1,10 +1,10 @@
 server {
-	server_name authapi.test.lca.users.h-da.cloud;
+	server_name authapi.example.com;
 	listen 80;
 	listen [::]:80;
 
 	location / {
-		proxy_pass http://localhost:5000/;
+		proxy_pass http://localhost:3002/;
 		proxy_set_header Host $host;
 		proxy_set_header X-Forwarded-Proto $scheme;
 		proxy_set_header X-Real-IP $remote_addr;
diff --git a/keycloak b/nginx-sample-conf-files/keycloak
similarity index 83%
rename from keycloak
rename to nginx-sample-conf-files/keycloak
index 375be80e9f71b62df92218ada14f0438f522cb1f..b0469ac29897fd33cbe9c399a63b4bbb09d2fa76 100644
--- a/keycloak
+++ b/nginx-sample-conf-files/keycloak
@@ -1,11 +1,11 @@
 server {
 
-        server_name keycloak.test.lca.users.h-da.cloud;
+        server_name keycloak.example.com;
 	listen 80;
 	listen [::]:80;
 
         location / {
-                proxy_pass http://localhost:8090;
+                proxy_pass http://localhost:8080;
                 proxy_set_header    Host               $host;
                 proxy_set_header    X-Real-IP          $remote_addr;
                 proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
diff --git a/leaf b/nginx-sample-conf-files/leafwriter
similarity index 85%
rename from leaf
rename to nginx-sample-conf-files/leafwriter
index 2c8d4fd3a614b0deda7bc07ae46d4427e744a61d..ec3684983e1f315385bed435512865b57c8865fb 100644
--- a/leaf
+++ b/nginx-sample-conf-files/leafwriter
@@ -1,5 +1,5 @@
 server {
-	server_name leaf.test.lca.users.h-da.cloud;
+	server_name example.com;
 	listen 80;
 	listen [::]:80;
 
@@ -10,8 +10,4 @@ server {
 		proxy_set_header X-Real-IP $remote_addr;
 		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 	}
-
-
-
-
 }
diff --git a/nssi b/nssi
deleted file mode 100644
index 79cf2bb0e30d3adf64e4aea0fe5ed04505e3cb1a..0000000000000000000000000000000000000000
--- a/nssi
+++ /dev/null
@@ -1,20 +0,0 @@
-server {
-
-        server_name nssi.test.lca.users.h-da.cloud;
-	listen 80;
-	listen [::]:80;
-
-        location / {
-                proxy_pass http://localhost:8080;
-                proxy_set_header    Host               $host;
-                proxy_set_header    X-Real-IP          $remote_addr;
-                proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
-                proxy_set_header    X-Forwarded-Host   $host;
-                proxy_set_header    X-Forwarded-Server $host;
-                proxy_set_header    X-Forwarded-Port   $server_port;
-                proxy_set_header    X-Forwarded-Proto  $scheme;
-        }
-
-
-
-}