diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml
index 4b8092d76f07ca6e4b15cde3bbec0ab3a440bfa3..bf483e93bab0a478ecee93de8cd37d1fd3154f22 100644
--- a/.docker/docker-compose.yml
+++ b/.docker/docker-compose.yml
@@ -289,7 +289,6 @@ services:
     hostname: ui
     image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.4.6
     environment:
-      NODE_OPTIONS: "${UI_RUNTIME_OPTIONS:-}"
       NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17bd028748a5a3ccc88c21d79cf21727269fdb05..e5545013834cec57068909664ed0f632329ceff5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,418 +24,415 @@ cache:
     - .m2/repository
 
 stages:
-  - build
-  - lint
+#  - build
+#  - lint
   - test
-  - docs
-  - release
-  - verify
-  - scan
-
-build-metadata-service:
-  image: maven:3-openjdk-17
-  stage: build
-  script:
-    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
-  # Compiled classes are needed for SonarQube in later stages
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-metadata-service/test/target/classes
-      - ./dbrepo-metadata-service/services/target/classes
-      - ./dbrepo-metadata-service/repositories/target/classes
-      - ./dbrepo-metadata-service/rest-service/target/classes
-      - ./dbrepo-metadata-service/api/target/classes
-      - ./dbrepo-metadata-service/oai/target/classes
-      - ./dbrepo-metadata-service/entities/target/classes
-    expire_in: 1 days
-
-build-analyse-service:
-  image: docker.io/python:3.11-alpine
-  stage: build
-  variables:
-    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-
-build-data-db-sidecar:
-  image: docker.io/python:3.11-alpine
-  stage: build
-  variables:
-    PIPENV_PIPFILE: "./dbrepo-data-db/sidecar/Pipfile"
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-
-build-lib:
-  image: docker.io/python:3.11-alpine
-  stage: build
-  variables:
-    PIPENV_PIPFILE: "./lib/python/Pipfile"
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-
-build-data-service:
-  image: maven:3-openjdk-17
-  stage: build
-  needs:
-    - build-metadata-service
-  dependencies:
-    - build-metadata-service
-  script:
-    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
-    - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
-  # Compiled classes are needed for SonarQube in later stages
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-data-service/services/target/classes
-      - ./dbrepo-data-service/rest-service/target/classes
-      - ./dbrepo-data-service/querystore/target/classes
-    expire_in: 1 days
-
-build-ui:
-  image: oven/bun:1.1.20-alpine
-  stage: build
-  script:
-    - "cd ./dbrepo-ui && bun install && bun run build"
-
-build-search-service:
-  image: docker.io/python:3.11-alpine
-  stage: build
-  script:
-    - "pip install pipenv"
-    - "cd dbrepo-search-service && pipenv install --system --deploy"
-
-build-docker:
-  image: docker.io/docker:24-dind
-  stage: build
-  before_script:
-    - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
-  script:
-    - "docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service"
-    - "docker build -t dbrepo-data-service:build --target build dbrepo-data-service"
-    - "docker compose build --parallel"
-
-build-helm:
-  image: docker.io/docker:24-dind
-  stage: build
-  before_script:
-    - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg
-    - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
-  script:
-    - apk add sed helm curl
-    - helm package ./helm/dbrepo --destination ./build
-
-lint-docker-compose:
-  image: docker.io/alpine:3.18
-  stage: lint
-  variables:
-    VERSION: 3.3.0
-    BINARY: yq_linux_amd64
-  before_script:
-    - 'apk --no-cache add bash wget'
-    - 'wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq'
-    - 'ls -la .scripts'
-  script:
-    - "yq compare -P docker-compose.yml .docker/docker-compose.yml 'volumes.*'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-analyse-service'"
-    - "bash .scripts/check-service.sh 'dbrepo-auth-db'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-auth-service'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-broker-service'"
-    - "IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-dashboard-service'"
-    - "bash .scripts/check-service.sh 'dbrepo-data-db'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-db-sidecar'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-service'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-gateway-service'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-identity-service'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-metadata-db'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-metadata-service'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-metric-db'"
-    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-db'"
-    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-search-service'"
-    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-service-init'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service'"
-    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service-init'"
-    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-ui'"
-    - "bash .scripts/check-service.sh 'dbrepo-upload-service'"
-
-verify-install-script:
-  image: docker.io/docker:24-dind
-  stage: verify
-  only:
-    refs:
-      - /^release-.*/
-  variables:
-    SKIP_CHECKS: 1
-  script:
-    - apk add bash curl
-    - bash install.sh
-    - exit 0
-
-lint-helm-chart:
-  image: docker.io/alpine:3.20
-  stage: lint
-  needs:
-    - build-metadata-service
-  dependencies:
-    - build-metadata-service
-  before_script:
-    - apk add helm
-  script:
-    - helm lint ./helm/dbrepo
-
-test-metadata-service:
-  image: maven:3-openjdk-17
-  stage: test
-  needs:
-    - build-metadata-service
-  dependencies:
-    - build-metadata-service
-  script:
-    - "mvn -f ./dbrepo-metadata-service/pom.xml clean test $MAVEN_OPTS verify"
-    - "cat ./dbrepo-metadata-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-metadata-service/report/target/site/jacoco-aggregate/
-      - ./dbrepo-metadata-service/rest-service/target/surefire-reports/
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-metadata-service/rest-service/target/surefire-reports/TEST-*.xml
-  coverage: '/Total.*?([0-9]{1,3})%/'
-
-test-data-service:
-  image: maven:3-openjdk-17
-  stage: test
-  needs:
-    - build-data-service
-  dependencies:
-    - build-data-service
-  script:
-    - "mvn -f ./dbrepo-data-service/pom.xml clean test verify $MAVEN_OPTS"
-    - "cat ./dbrepo-data-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-data-service/report/target/site/jacoco-aggregate/
-      - ./dbrepo-data-service/rest-service/target/surefire-reports/
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml
-  coverage: '/Total.*?([0-9]{1,3})%/'
-
-test-analyse-service:
-  image: docker.io/python:3.11-alpine
-  stage: test
-  variables:
-    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
-  needs:
-    - build-analyse-service
-  dependencies:
-    - build-analyse-service
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-    - cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py test/test_s3_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
-    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-analyse-service/report.xml
-      - ./dbrepo-analyse-service/coverage.txt
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-analyse-service/report.xml
-  coverage: '/TOTAL.*?([0-9]{1,3})%/'
-
-test-search-service:
-  image: docker.io/python:3.11-alpine
-  stage: test
-  variables:
-    PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile"
-  needs:
-    - build-search-service
-  dependencies:
-    - build-search-service
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-    - cd ./dbrepo-search-service/ && coverage run -m pytest test/test_opensearch_client.py --junitxml=report.xml && coverage html --omit="test/*,omlib/*" && coverage report --omit="test/*,omlib/*" > ./coverage.txt
-    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-search-service/report.xml
-      - ./dbrepo-search-service/coverage.txt
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-search-service/report.xml
-  coverage: '/TOTAL.*?([0-9]{1,3})%/'
-
-test-lib:
-  image: docker.io/python:3.11-alpine
-  stage: test
-  variables:
-    PIPENV_PIPFILE: "./lib/python/Pipfile"
-  needs:
-    - build-lib
-  dependencies:
-    - build-lib
-  script:
-    - "pip install pipenv"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-    - cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
-    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
-  artifacts:
-    when: always
-    paths:
-      - ./lib/python/report.xml
-      - ./lib/python/coverage.txt
-    expire_in: 1 days
-    reports:
-      junit: ./lib/python/report.xml
-  coverage: '/TOTAL.*?([0-9]{1,3})%/'
+#  - docs
+#  - release
+#  - verify
+#  - scan
+#
+#build-metadata-service:
+#  image: maven:3-openjdk-17
+#  stage: build
+#  script:
+#    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
+#  # Compiled classes are needed for SonarQube in later stages
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-metadata-service/test/target/classes
+#      - ./dbrepo-metadata-service/services/target/classes
+#      - ./dbrepo-metadata-service/repositories/target/classes
+#      - ./dbrepo-metadata-service/rest-service/target/classes
+#      - ./dbrepo-metadata-service/api/target/classes
+#      - ./dbrepo-metadata-service/oai/target/classes
+#      - ./dbrepo-metadata-service/entities/target/classes
+#    expire_in: 1 days
+#
+#build-analyse-service:
+#  image: docker.io/python:3.11-alpine
+#  stage: build
+#  variables:
+#    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#
+#build-data-db-sidecar:
+#  image: docker.io/python:3.11-alpine
+#  stage: build
+#  variables:
+#    PIPENV_PIPFILE: "./dbrepo-data-db/sidecar/Pipfile"
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#
+#build-lib:
+#  image: docker.io/python:3.11-alpine
+#  stage: build
+#  variables:
+#    PIPENV_PIPFILE: "./lib/python/Pipfile"
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#
+#build-data-service:
+#  image: maven:3-openjdk-17
+#  stage: build
+#  needs:
+#    - build-metadata-service
+#  dependencies:
+#    - build-metadata-service
+#  script:
+#    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
+#    - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
+#  # Compiled classes are needed for SonarQube in later stages
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-data-service/services/target/classes
+#      - ./dbrepo-data-service/rest-service/target/classes
+#      - ./dbrepo-data-service/querystore/target/classes
+#    expire_in: 1 days
+#
+#build-ui:
+#  image: oven/bun:1.1.20-alpine
+#  stage: build
+#  script:
+#    - "cd ./dbrepo-ui && bun install && bun run build"
+#
+#build-search-service:
+#  image: docker.io/python:3.11-alpine
+#  stage: build
+#  script:
+#    - "pip install pipenv"
+#    - "cd dbrepo-search-service && pipenv install --system --deploy"
+#
+#build-docker:
+#  image: docker.io/docker:24-dind
+#  stage: build
+#  before_script:
+#    - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
+#  script:
+#    - "docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service"
+#    - "docker build -t dbrepo-data-service:build --target build dbrepo-data-service"
+#    - "docker compose build --parallel"
+#
+#build-helm:
+#  image: docker.io/docker:24-dind
+#  stage: build
+#  before_script:
+#    - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg
+#    - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
+#  script:
+#    - apk add sed helm curl
+#    - helm package ./helm/dbrepo --destination ./build
+#
+#lint-docker-compose:
+#  image: docker.io/alpine:3.18
+#  stage: lint
+#  variables:
+#    VERSION: 3.3.0
+#    BINARY: yq_linux_amd64
+#  before_script:
+#    - 'apk --no-cache add bash wget'
+#    - 'wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq'
+#    - 'ls -la .scripts'
+#  script:
+#    - "yq compare -P docker-compose.yml .docker/docker-compose.yml 'volumes.*'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-analyse-service'"
+#    - "bash .scripts/check-service.sh 'dbrepo-auth-db'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-auth-service'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-broker-service'"
+#    - "IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-dashboard-service'"
+#    - "bash .scripts/check-service.sh 'dbrepo-data-db'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-db-sidecar'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-data-service'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-gateway-service'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-identity-service'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-metadata-db'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-metadata-service'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-metric-db'"
+#    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-db'"
+#    - "IGNORE_IMAGE=1 IGNORE_PORTS=1 bash .scripts/check-service.sh 'dbrepo-search-service'"
+#    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-search-service-init'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service'"
+#    - "IGNORE_VOLUMES=1 bash .scripts/check-service.sh 'dbrepo-storage-service-init'"
+#    - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-ui'"
+#    - "bash .scripts/check-service.sh 'dbrepo-upload-service'"
+#
+#verify-install-script:
+#  image: docker.io/docker:24-dind
+#  stage: verify
+#  only:
+#    refs:
+#      - /^release-.*/
+#  variables:
+#    SKIP_CHECKS: 1
+#  script:
+#    - apk add bash curl
+#    - bash install.sh
+#    - exit 0
+#
+#lint-helm-chart:
+#  image: docker.io/alpine:3.20
+#  stage: lint
+#  needs:
+#    - build-metadata-service
+#  dependencies:
+#    - build-metadata-service
+#  before_script:
+#    - apk add helm
+#  script:
+#    - helm lint ./helm/dbrepo
+#
+#test-metadata-service:
+#  image: maven:3-openjdk-17
+#  stage: test
+#  needs:
+#    - build-metadata-service
+#  dependencies:
+#    - build-metadata-service
+#  script:
+#    - "mvn -f ./dbrepo-metadata-service/pom.xml clean test $MAVEN_OPTS verify"
+#    - "cat ./dbrepo-metadata-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-metadata-service/report/target/site/jacoco-aggregate/
+#      - ./dbrepo-metadata-service/rest-service/target/surefire-reports/
+#    expire_in: 1 days
+#    reports:
+#      junit: ./dbrepo-metadata-service/rest-service/target/surefire-reports/TEST-*.xml
+#  coverage: '/Total.*?([0-9]{1,3})%/'
+#
+#test-data-service:
+#  image: maven:3-openjdk-17
+#  stage: test
+#  needs:
+#    - build-data-service
+#  dependencies:
+#    - build-data-service
+#  script:
+#    - "mvn -f ./dbrepo-data-service/pom.xml clean test verify $MAVEN_OPTS"
+#    - "cat ./dbrepo-data-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-data-service/report/target/site/jacoco-aggregate/
+#      - ./dbrepo-data-service/rest-service/target/surefire-reports/
+#    expire_in: 1 days
+#    reports:
+#      junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml
+#  coverage: '/Total.*?([0-9]{1,3})%/'
+#
+#test-analyse-service:
+#  image: docker.io/python:3.11-alpine
+#  stage: test
+#  variables:
+#    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
+#  needs:
+#    - build-analyse-service
+#  dependencies:
+#    - build-analyse-service
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#    - cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py test/test_s3_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
+#    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-analyse-service/report.xml
+#      - ./dbrepo-analyse-service/coverage.txt
+#    expire_in: 1 days
+#    reports:
+#      junit: ./dbrepo-analyse-service/report.xml
+#  coverage: '/TOTAL.*?([0-9]{1,3})%/'
+#
+#test-search-service:
+#  image: docker.io/python:3.11-alpine
+#  stage: test
+#  variables:
+#    PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile"
+#  needs:
+#    - build-search-service
+#  dependencies:
+#    - build-search-service
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#    - cd ./dbrepo-search-service/ && coverage run -m pytest test/test_opensearch_client.py --junitxml=report.xml && coverage html --omit="test/*,omlib/*" && coverage report --omit="test/*,omlib/*" > ./coverage.txt
+#    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./dbrepo-search-service/report.xml
+#      - ./dbrepo-search-service/coverage.txt
+#    expire_in: 1 days
+#    reports:
+#      junit: ./dbrepo-search-service/report.xml
+#  coverage: '/TOTAL.*?([0-9]{1,3})%/'
+#
+#test-lib:
+#  image: docker.io/python:3.11-alpine
+#  stage: test
+#  variables:
+#    PIPENV_PIPFILE: "./lib/python/Pipfile"
+#  needs:
+#    - build-lib
+#  dependencies:
+#    - build-lib
+#  script:
+#    - "pip install pipenv"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#    - cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
+#    - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
+#  artifacts:
+#    when: always
+#    paths:
+#      - ./lib/python/report.xml
+#      - ./lib/python/coverage.txt
+#    expire_in: 1 days
+#    reports:
+#      junit: ./lib/python/report.xml
+#  coverage: '/TOTAL.*?([0-9]{1,3})%/'
 
 test-ui:
   stage: test
   image: docker.io/docker:24-dind
-  variables:
-    UI_RUNTIME_OPTIONS: --max_old_space_size=256
-    ENDPOINT: http://localhost:3000
-  needs:
-    - build-ui
-  dependencies:
-    - build-ui
+#  needs:
+#    - build-ui
+#  dependencies:
+#    - build-ui
   before_script:
     - "apk add bash apache2-utils"
     - "docker compose build dbrepo-ui"
-    - "docker run --name dbrepo-ui -p 3000:3000 -d dbrepo-ui:latest"
+    - "docker run --name dbrepo-ui -e NODE_OPTIONS='--max_old_space_size=256' -p 3000:3000 -d dbrepo-ui:latest"
   script:
     - "sleep 30"
-    - "bash ./dbrepo-ui/test/test_heap.sh || exit 1"
+    - "ENDPOINT=http://localhost:3000 bash ./dbrepo-ui/test/test_heap.sh"
 
-scan-sonarqube:
-  image: sonarsource/sonar-scanner-cli:10.0
-  stage: scan
-  only:
-    refs:
-      - master
-  needs:
-    - build-data-service
-    - build-metadata-service
-  dependencies:
-    - build-data-service
-    - build-metadata-service
-  script:
-    - 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
-  allow_failure: true
-  cache:
-    policy: pull
-    key: "${CI_COMMIT_SHORT_SHA}"
-    paths:
-      - sonar-scanner/
-
-docs-registry:
-  stage: docs
-  image: docker.io/python:3.11-slim
-  only:
-    refs:
-      - /^release-.*/
-  before_script:
-    - "apt-get update && apt-get install -y sed"
-  script:
-    - pip install -r ./requirements.txt
-    - python3 .docs/docker/release.py
-
-release-images:
-  stage: release
-  image: docker:24-dind
-  dependencies:
-    - test-metadata-service
-    - test-data-service
-    - test-analyse-service
-  only:
-    refs:
-      - /^release-.*/
-  before_script:
-    - "docker logout ${CI_REGISTRY_URL}"
-    - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
-    - "docker logout ${CI_REGISTRY2_URL}"
-    - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
-    - "ifconfig eth0 mtu 1450 up"
-    - "apk add make bash"
-  script:
-    - "make release-images"
-
-release-helm:
-  stage: release
-  image: docker:24-dind
-  only:
-    refs:
-      - /^release-.*/
-  when: manual
-  before_script:
-    - "docker logout ${CI_REGISTRY_URL}"
-    - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
-    - "docker logout ${CI_REGISTRY2_URL}"
-    - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
-    - "apk add sed helm curl"
-    - "mkdir -p ~/.gnupg"
-    - echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg
-    - echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg
-    - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build"
-    - "helm plugin install https://github.com/sigstore/helm-sigstore"
-  script:
-    - "helm push ./build/dbrepo-${CHART_VERSION}.tgz oci://${CI_REGISTRY2_URL}/helm"
-    - "helm sigstore upload ./build/dbrepo-${CHART_VERSION}.tgz"
-
-release-docs:
-  stage: release
-  image: docker.io/python:3.11-alpine
-  only:
-    refs:
-      - /^release-.*/
-  before_script:
-    - "apk add --update alpine-sdk bash sed wget openssh jq curl"
-    - "pip install pipenv"
-    - "pip install -r ./requirements.txt"
-    - "mkdir -p ./final/${APP_VERSION}/rest"
-  script:
-    - "make gen-lib-doc gen-docs-doc package-config"
-    - "cp -r ./lib/python/docs/build/html ./final/${APP_VERSION}/python" # sphinx
-    - "cp .docs/.swagger/api.yaml ./final/${APP_VERSION}/rest/api.yaml" # swagger
-    - "cp .docs/.swagger/swagger-ui.html ./final/${APP_VERSION}/rest/index.html" # swagger
-    - "cp .docs/.swagger/custom.css ./final/${APP_VERSION}/rest/custom.css" # swagger
-    - "cp -r ./site/* ./final/${APP_VERSION}" # mkdocs
-    - "cp .docker/dist.tar.gz ./final/${APP_VERSION}/dist.tar.gz" # dist
-    - "bash ./.gitlab/gen-badge.sh"
-    - eval $(ssh-agent -s)
-    - "mkdir -p /root/.ssh"
-    - echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
-    - echo "$CI_KEY_PUBLIC" > /root/.ssh/id_rsa.pub
-    - echo "$CI_DOC_ID" > ~/.ssh/known_hosts
-    - tar czf ./final.tar.gz ./final
-    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa final.tar.gz $CI_DOC_USER@$CI_DOC_IP:final.tar.gz"
-    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa versions.json $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/versions.json"
-    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa .docs/redirect.html $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/index.html"
-    - 'ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa $CI_DOC_USER@$CI_DOC_IP "rm -rf /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; tar xzf ./final.tar.gz; rm -f ./final.tar.gz; cp -r ./final/* /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; rm -rf ./final"'
-
-release-libs:
-  stage: release
-  image: docker.io/python:3.11-alpine
-  when: manual
-  only:
-    refs:
-      - /^release-.*/
-  variables:
-    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
-  before_script:
-    - "apk add sed bash"
-    - "pip install pipenv twine build"
-    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
-  script:
-    - bash ./lib/python/package.sh
-    - bash ./lib/python/release.sh
+#scan-sonarqube:
+#  image: sonarsource/sonar-scanner-cli:10.0
+#  stage: scan
+#  only:
+#    refs:
+#      - master
+#  needs:
+#    - build-data-service
+#    - build-metadata-service
+#  dependencies:
+#    - build-data-service
+#    - build-metadata-service
+#  script:
+#    - 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
+#  allow_failure: true
+#  cache:
+#    policy: pull
+#    key: "${CI_COMMIT_SHORT_SHA}"
+#    paths:
+#      - sonar-scanner/
+#
+#docs-registry:
+#  stage: docs
+#  image: docker.io/python:3.11-slim
+#  only:
+#    refs:
+#      - /^release-.*/
+#  before_script:
+#    - "apt-get update && apt-get install -y sed"
+#  script:
+#    - pip install -r ./requirements.txt
+#    - python3 .docs/docker/release.py
+#
+#release-images:
+#  stage: release
+#  image: docker:24-dind
+#  dependencies:
+#    - test-metadata-service
+#    - test-data-service
+#    - test-analyse-service
+#  only:
+#    refs:
+#      - /^release-.*/
+#  before_script:
+#    - "docker logout ${CI_REGISTRY_URL}"
+#    - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
+#    - "docker logout ${CI_REGISTRY2_URL}"
+#    - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
+#    - "ifconfig eth0 mtu 1450 up"
+#    - "apk add make bash"
+#  script:
+#    - "make release-images"
+#
+#release-helm:
+#  stage: release
+#  image: docker:24-dind
+#  only:
+#    refs:
+#      - /^release-.*/
+#  when: manual
+#  before_script:
+#    - "docker logout ${CI_REGISTRY_URL}"
+#    - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
+#    - "docker logout ${CI_REGISTRY2_URL}"
+#    - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
+#    - "apk add sed helm curl"
+#    - "mkdir -p ~/.gnupg"
+#    - echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg
+#    - echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg
+#    - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build"
+#    - "helm plugin install https://github.com/sigstore/helm-sigstore"
+#  script:
+#    - "helm push ./build/dbrepo-${CHART_VERSION}.tgz oci://${CI_REGISTRY2_URL}/helm"
+#    - "helm sigstore upload ./build/dbrepo-${CHART_VERSION}.tgz"
+#
+#release-docs:
+#  stage: release
+#  image: docker.io/python:3.11-alpine
+#  only:
+#    refs:
+#      - /^release-.*/
+#  before_script:
+#    - "apk add --update alpine-sdk bash sed wget openssh jq curl"
+#    - "pip install pipenv"
+#    - "pip install -r ./requirements.txt"
+#    - "mkdir -p ./final/${APP_VERSION}/rest"
+#  script:
+#    - "make gen-lib-doc gen-docs-doc package-config"
+#    - "cp -r ./lib/python/docs/build/html ./final/${APP_VERSION}/python" # sphinx
+#    - "cp .docs/.swagger/api.yaml ./final/${APP_VERSION}/rest/api.yaml" # swagger
+#    - "cp .docs/.swagger/swagger-ui.html ./final/${APP_VERSION}/rest/index.html" # swagger
+#    - "cp .docs/.swagger/custom.css ./final/${APP_VERSION}/rest/custom.css" # swagger
+#    - "cp -r ./site/* ./final/${APP_VERSION}" # mkdocs
+#    - "cp .docker/dist.tar.gz ./final/${APP_VERSION}/dist.tar.gz" # dist
+#    - "bash ./.gitlab/gen-badge.sh"
+#    - eval $(ssh-agent -s)
+#    - "mkdir -p /root/.ssh"
+#    - echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
+#    - echo "$CI_KEY_PUBLIC" > /root/.ssh/id_rsa.pub
+#    - echo "$CI_DOC_ID" > ~/.ssh/known_hosts
+#    - tar czf ./final.tar.gz ./final
+#    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa final.tar.gz $CI_DOC_USER@$CI_DOC_IP:final.tar.gz"
+#    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa versions.json $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/versions.json"
+#    - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa .docs/redirect.html $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/index.html"
+#    - 'ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa $CI_DOC_USER@$CI_DOC_IP "rm -rf /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; tar xzf ./final.tar.gz; rm -f ./final.tar.gz; cp -r ./final/* /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; rm -rf ./final"'
+#
+#release-libs:
+#  stage: release
+#  image: docker.io/python:3.11-alpine
+#  when: manual
+#  only:
+#    refs:
+#      - /^release-.*/
+#  variables:
+#    PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
+#  before_script:
+#    - "apk add sed bash"
+#    - "pip install pipenv twine build"
+#    - "pipenv install gunicorn && pipenv install --dev --system --deploy"
+#  script:
+#    - bash ./lib/python/package.sh
+#    - bash ./lib/python/release.sh
diff --git a/dbrepo-ui/test/test_heap.sh b/dbrepo-ui/test/test_heap.sh
index 51acc0cf295d63ed794cb655ca8b44184b27e9b4..d3ed8722cdc1dacdf4678459a847a1488595fd2b 100755
--- a/dbrepo-ui/test/test_heap.sh
+++ b/dbrepo-ui/test/test_heap.sh
@@ -1,8 +1,9 @@
 #!/bin/bash
-CALLS=1000
-CONCURRENCY=10
-ENDPOINT=http://localhost
+CALLS=${CALLS:-1000}
+CONCURRENCY=${CONCURRENCY:-10}
+ENDPOINT=${ENDPOINT:-http://localhost}
 
+echo "[DEBUG] Testing endpoint: ${ENDPOINT} x${CALLS} (concurrency ${CONCURRENCY})"
 ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/"
 ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/search"
 ab -n "${CALLS}" -c "${CONCURRENCY}" "${ENDPOINT}/login"
diff --git a/docker-compose.yml b/docker-compose.yml
index 02305d60333c09a5939fca4d26bd4cc49d618b69..d74f0c574d3c55c478174485f6b88d09e215e7e9 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -324,7 +324,6 @@ services:
         COMMIT: ${CI_COMMIT_SHA:-}
       network: host
     environment:
-      NODE_OPTIONS: "${UI_RUNTIME_OPTIONS:-}"
       NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://localhost}"
       NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files"