diff --git a/.docker/.env b/.docker/.env
index 7df6edf0fe8433232e7eeaff888aedb8bef359a1..e50d4f6b5b1c15372029abec7a4fb924a70781ad 100644
--- a/.docker/.env
+++ b/.docker/.env
@@ -1,13 +1,9 @@
-# Example values to override for non-test deployments
-
-#BASE_URL=https://example.com
-#ADMIN_EMAIL=noreply@example.com
-#LOG_LEVEL=info
-#IDENTITY_SERVICE_ADMIN_PASSWORD=admin
-#AUTH_SERVICE_ADMIN_PASSWORD=admin
-#METADATA_DB_PASSWORD=dbrepo
-#DATA_DB_PASSWORD=dbrepo
-#AUTH_DB_PASSWORD=dbrepo
-#S3_ACCESS_KEY_ID=seaweedfsadmin
-#S3_SECRET_ACCESS_KEY=seaweedfsadmin
-#SYSTEM_PASSWORD=admin
\ No newline at end of file
+MARIADB_VERSION=11.3.2
+POSTGRES_VERSION=17.0.0
+KEYCLOAK_VERSION=26.0.4
+RABBITMQ_VERSION=3.13.7
+OPENSEARCH_VERSION=2.10.0
+NGINX_VERSION=1.27.3-alpine3.20-slim
+OPENLDAP_VERSION=2.6.8
+SEAWEEDFS_VERSION=3.71.0
+PROMETHEUS_VERSION=2.54.1
\ No newline at end of file
diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml
index 5321cc47d59d5522704eed6c928e1323161584c9..61f2fdc62dcd556d6ec77e157eca0d78dae82892 100644
--- a/.docker/docker-compose.yml
+++ b/.docker/docker-compose.yml
@@ -1,3 +1,62 @@
+x-resources-nano: &resources-nano
+  resources:
+    reservations:
+      cpus: '0.1'
+      memory: 128M
+    limits:
+      cpus: '0.15'
+      memory: 192M
+
+x-resources-nano-hm: &resources-nano-hm
+  resources:
+    reservations:
+      cpus: '0.1'
+      memory: 1024M
+    limits:
+      cpus: '0.5'
+      memory: 4096M
+
+x-resources-micro: &resources-micro
+  resources:
+    reservations:
+      cpus: '0.25'
+      memory: 256M
+    limits:
+      cpus: '0.375'
+      memory: 384M
+
+x-resources-small: &resources-small
+  resources:
+    reservations:
+      cpus: '0.5'
+      memory: 512M
+    limits:
+      cpus: '0.75'
+      memory: 768M
+
+x-resources-medium: &resources-medium
+  resources:
+    reservations:
+      cpus: '0.5'
+      memory: 1024M
+    limits:
+      cpus: '0.75'
+      memory: 1536M
+
+x-resources-large: &resources-large
+  resources:
+    reservations:
+      cpus: '1'
+      memory: 2048M
+    limits:
+      cpus: '1.5'
+      memory: 3072M
+
+x-healthcheck-params: &healthcheck-params
+  interval: 30s
+  timeout: 10s
+  retries: 15
+
 volumes:
   metadata-db-data:
   data-db-data:
@@ -13,7 +72,7 @@ services:
     restart: "no"
     container_name: dbrepo-metadata-db
     hostname: metadata-db
-    image: docker.io/mariadb:11.3.2
+    image: docker.io/mariadb:${MARIADB_VERSION}
     volumes:
       - metadata-db-data:/var/lib/mysql
       - ./config/1_setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql
@@ -25,9 +84,9 @@ services:
       MARIADB_ROOT_PASSWORD: "${METADATA_DB_PASSWORD:-dbrepo}"
     healthcheck:
       test: ./usr/local/bin/healthcheck.sh --connect --innodb_initialized
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano-hm
     logging:
       driver: json-file
 
@@ -35,7 +94,7 @@ services:
     restart: "no"
     container_name: dbrepo-data-db
     hostname: data-db
-    image: docker.io/mariadb:11.3.2
+    image: docker.io/mariadb:${MARIADB_VERSION}
     volumes:
       - data-db-data:/var/lib/mysql
       - ./config/1_grant-user.sql:/docker-entrypoint-initdb.d/1_grant-user.sql
@@ -47,9 +106,9 @@ services:
       MARIADB_USER: "${READONLY_USERNAME:-readonly}"
     healthcheck:
       test: ./usr/local/bin/healthcheck.sh --connect --innodb_initialized
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano-hm
     logging:
       driver: json-file
 
@@ -57,7 +116,7 @@ services:
     restart: "no"
     container_name: dbrepo-auth-db
     hostname: auth-db
-    image: docker.io/bitnami/postgresql:17.0.0-debian-12-r1
+    image: docker.io/bitnami/postgresql:${POSTGRES_VERSION}
     volumes:
       - auth-db-data:/bitnami/postgresql
     environment:
@@ -67,9 +126,9 @@ services:
       PGPASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}"
     healthcheck:
       test: "psql -U ${AUTH_DB_USERNAME:-keycloak} -h 127.0.0.1 -p 5432 -d ${AUTH_DB_NAME:-keycloak} -c 'select version();'"
-      interval: 15s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     logging:
       driver: json-file
 
@@ -77,7 +136,7 @@ services:
     restart: "no"
     container_name: dbrepo-auth-service
     hostname: auth-service
-    image: bitnami/keycloak:26.0.4-debian-12-r0
+    image: docker.io/bitnami/keycloak:${KEYCLOAK_VERSION}
     volumes:
       - ./config/import-realms.sh:/docker-entrypoint-initdb.d/import-realms.sh
       - ./config/master-realm.json:/opt/keycloak/data/import/master-realm.json
@@ -97,15 +156,15 @@ services:
       KEYCLOAK_DATABASE_USER: "${AUTH_DB_USERNAME:-keycloak}"
       KEYCLOAK_DATABASE_PASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}"
       KEYCLOAK_HOSTNAME: "${BASE_URL:-http://localhost}"
-      KEYCLOAK_HOSTNAME_ADMIN: "http://127.0.0.1:8080" ## works???
+      KEYCLOAK_HOSTNAME_ADMIN: "http://localhost:8080"
       METADATA_SERVICE_ENDPOINT: "${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}"
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
-      test: curl -fsS http://localhost:8080/realms/master
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      test: curl -fsS localhost:8080/realms/master
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-small
     depends_on:
       dbrepo-identity-service:
         condition: service_healthy
@@ -127,6 +186,8 @@ services:
       READONLY_USERNAME: "${READONLY_USERNAME:-readonly}"
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin}
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -182,9 +243,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-small
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -221,9 +282,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/health | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -231,7 +292,7 @@ services:
     restart: "no"
     container_name: dbrepo-broker-service
     hostname: broker-service
-    image: docker.io/bitnami/rabbitmq:3.13.7-debian-12-r4
+    image: docker.io/bitnami/rabbitmq:${RABBITMQ_VERSION}
     ports:
       - 5672:5672
       - 1883:1883
@@ -248,9 +309,9 @@ services:
         condition: service_healthy
     healthcheck:
       test: rabbitmq-diagnostics -q is_running | grep 'is fully booted and running'
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -258,14 +319,14 @@ services:
     restart: "no"
     container_name: dbrepo-search-db
     hostname: search-db
-    image: docker.io/bitnami/opensearch:2.10.0
+    image: docker.io/bitnami/opensearch:${OPENSEARCH_VERSION}
     ports:
       - "9200:9200"
     healthcheck:
       test: curl -sSL 127.0.0.1:9200
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-medium
     volumes:
       - search-db-data:/bitnami/opensearch/data
     logging:
@@ -289,9 +350,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/health | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -313,14 +374,14 @@ services:
       NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_TOKEN_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/token"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_USER_INFO_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/userinfo"
+    healthcheck:
+      test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     depends_on:
       dbrepo-search-service:
         condition: service_healthy
-    healthcheck:
-      test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health
-      interval: 10s
-      timeout: 5s
-      retries: 12
     extra_hosts:
       - "localhost:host-gateway"
     logging:
@@ -330,16 +391,16 @@ services:
     restart: "no"
     container_name: dbrepo-gateway-service
     hostname: gateway-service
-    image: docker.io/nginx:1.27.3-alpine3.20-slim
+    image: docker.io/nginx:${NGINX_VERSION}
     ports:
       - "80:8080"
     volumes:
       - ./config/dbrepo.conf:/etc/nginx/conf.d/default.conf
     healthcheck:
       test: lsof -i TCP:80 || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-analyse-service:
         condition: service_healthy
@@ -375,9 +436,11 @@ services:
       - identity-service-data:/bitnami/openldap
     healthcheck:
       test: "ldapwhoami -H ldap://localhost:1389 -D ${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at} -w ${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin} || exit 1"
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
+    logging:
+      driver: json-file
 
   dbrepo-search-service-init:
     restart: "no"
@@ -392,6 +455,8 @@ services:
       OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200}
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-search-db:
         condition: service_healthy
@@ -412,6 +477,8 @@ services:
       METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-dashboard-ui:
         condition: service_healthy
@@ -424,7 +491,7 @@ services:
     restart: "no"
     container_name: dbrepo-storage-service
     hostname: storage-service
-    image: docker.io/bitnami/seaweedfs:3.71.0-debian-12-r4
+    image: docker.io/bitnami/seaweedfs:${SEAWEEDFS_VERSION}
     command: [ "server", "-s3", "-s3.port=9000", "-s3.config=/app/s3_config.json", "-metricsPort=9090" ]
     volumes:
       - ./config/s3_config.json:/app/s3_config.json
@@ -433,9 +500,9 @@ services:
       - "8888:8888"
     healthcheck:
       test: echo "cluster.check" | weed shell | grep "checking master.*ok" || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     logging:
       driver: json-file
 
@@ -443,15 +510,15 @@ services:
     restart: "no"
     container_name: dbrepo-metric-db
     hostname: metric-db
-    image: docker.io/bitnami/prometheus:2.54.1-debian-12-r4
+    image: docker.io/bitnami/prometheus:${PROMETHEUS_VERSION}
     volumes:
       - ./config/prometheus.yml:/etc/prometheus/prometheus.yml
       - metric-db-data:/opt/bitnami/prometheus/data
     healthcheck:
       test: promtool check healthy
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     logging:
       driver: json-file
 
@@ -466,6 +533,8 @@ services:
       S3_BUCKET: "${S3_BUCKET:-dbrepo}"
       S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}
       STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000}
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-storage-service:
         condition: service_healthy
@@ -510,9 +579,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-large
     depends_on:
       dbrepo-data-db:
         condition: service_healthy
@@ -538,9 +607,9 @@ services:
       LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}"
     healthcheck:
       test: curl -fsSL --head 127.0.0.1:3000
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     extra_hosts:
       - "localhost:host-gateway"
     logging:
@@ -561,9 +630,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -fsSL --head 127.0.0.1:8080/health
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     depends_on:
       dbrepo-dashboard-ui:
         condition: service_healthy
diff --git a/.env b/.env
new file mode 100644
index 0000000000000000000000000000000000000000..e50d4f6b5b1c15372029abec7a4fb924a70781ad
--- /dev/null
+++ b/.env
@@ -0,0 +1,9 @@
+MARIADB_VERSION=11.3.2
+POSTGRES_VERSION=17.0.0
+KEYCLOAK_VERSION=26.0.4
+RABBITMQ_VERSION=3.13.7
+OPENSEARCH_VERSION=2.10.0
+NGINX_VERSION=1.27.3-alpine3.20-slim
+OPENLDAP_VERSION=2.6.8
+SEAWEEDFS_VERSION=3.71.0
+PROMETHEUS_VERSION=2.54.1
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 7aac91c7e1b3e9cfbee5f51bf91d490b5b36c71b..c3dd8341c59dbd1975ed8c7175a9d770bcd46317 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,7 +4,6 @@ target/
 !**/src/main/**/target/
 !**/src/test/**/target/
 
-# TODO
 .docker/
 # generated
 ready
@@ -61,9 +60,6 @@ ready
 *.crt
 *.p12
 
-# Environment
-/.env
-
 # X509
 root.crt
 intermediate.crt
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a0fe69487b196fd0fefdb6aad9fb3d12bf70dcb6..50443dc1adcbd814755730c8b2f5d93d390cd6dc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,7 +58,7 @@ lint-docker-compose:
     VERSION: 4.45.1
     BINARY: yq_linux_amd64
   before_script:
-    - 'apk --no-cache add bash wget'
+    - 'apk add --no-cache bash wget'
     - 'wget https://github.com/mikefarah/yq/releases/download/v${VERSION}/${BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq'
   script:
     - "bash .scripts/check-compose.sh"
@@ -83,12 +83,13 @@ lint-docker-compose:
     - "IGNORE_VOLUMES=1 IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-storage-service-init'"
     - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-dashboard-service-init'"
     - "IGNORE_IMAGE=1 bash .scripts/check-service.sh 'dbrepo-ui'"
+    - "diff ./.env ./.docker/.env"
 
 lint-helm-chart:
   image: docker.io/alpine:${ALPINE_VERSION}
   stage: lint
   before_script:
-    - apk --no-cache add helm git bash
+    - apk add --no-cache helm git bash
     - cp ./helm/dbrepo/values.schema.json ./CI_values.schema.json
     - helm plugin install https://github.com/losisin/helm-values-schema-json.git
     - helm package ./helm/seaweedfs --destination ./build
@@ -109,7 +110,7 @@ lint-helm-readme:
   image: docker.io/node:${NODE_VERSION}-alpine${ALPINE_VERSION}
   stage: lint
   before_script:
-    - apk --no-cache add alpine-sdk bash git
+    - apk add --no-cache alpine-sdk bash git
     - cp ./helm/dbrepo/README.md ./CI_README.md
     - git clone https://github.com/bitnami/readme-generator-for-helm
     - (cd ./readme-generator-for-helm && npm install && npm install -g pkg && pkg . -o /usr/local/sbin/readme-generator)
@@ -137,7 +138,7 @@ lint-open-api-version:
   before_script:
     - echo "${DOC_VERSION}" > ./doc-version.txt
     - echo "${APP_VERSION}" > ./app-version.txt
-    - 'apk --no-cache add bash wget'
+    - 'apk add --no-cache bash wget'
     - 'wget https://github.com/mikefarah/yq/releases/download/v${VERSION}/${BINARY} -O /usr/bin/yq && chmod +x /usr/bin/yq'
   script:
     - yq '.externalDocs.url' ./.docs/.openapi/api.base.yaml | grep -o "${DOC_VERSION}" > ./openapi-doc-version.txt
@@ -689,12 +690,12 @@ release-libs:
   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"
+    - "echo ${CI_PIPYRC} | base64 -d > /app/.pypirc"
   script:
-    - bash ./lib/python/package.sh
-    - bash ./lib/python/release.sh
+    - "python -m build"
+    - "python -m twine upload --config-file /app/.pypirc --verbose --repository pypi ./lib/python/dist/dbrepo-*"
 
 verify-install-script:
   image: docker.io/docker:${DOCKER_VERSION}-dind
diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock
index ebab75e9e69f8cf4a017ba465f2ba01d139bf88d..8b86da3d65d0a726ca5e93914bb6b7dcc6cc5efa 100644
--- a/dbrepo-analyse-service/Pipfile.lock
+++ b/dbrepo-analyse-service/Pipfile.lock
@@ -425,7 +425,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:22484d712e4a240a0114b90b5e8eaacbe47aa8f7fc79200557150f081faf7669"
+                "sha256:27d91126d95c24ed5f373726a9f119abd1f60ac8f4db1b8e59038ffacccd3b75"
             ],
             "path": "./lib/dbrepo-1.8.1.tar.gz"
         },
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.1-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.1-py3-none-any.whl
index 261fa7958ae481d4d85bc5efc152e519fa6af802..b149b48f3dc12e6f5bac1207e647246ef981c4a7 100644
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.1-py3-none-any.whl and b/dbrepo-analyse-service/lib/dbrepo-1.8.1-py3-none-any.whl differ
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.1.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.1.tar.gz
index 0da3ea37a31f2f3cdeea212e768aab7793f29252..ff71db5d1e93933f51d937485910de5c502f79c0 100644
Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.1.tar.gz and b/dbrepo-analyse-service/lib/dbrepo-1.8.1.tar.gz differ
diff --git a/dbrepo-auth-service/listeners/target/create-event-listener.jar b/dbrepo-auth-service/listeners/target/create-event-listener.jar
index 0b0771d3657d44c05fe9fe8fc62f2c7aef23c85b..17f47767177fc6e91dd72a83ffee382873a0f880 100644
Binary files a/dbrepo-auth-service/listeners/target/create-event-listener.jar and b/dbrepo-auth-service/listeners/target/create-event-listener.jar differ
diff --git a/dbrepo-dashboard-service/Pipfile.lock b/dbrepo-dashboard-service/Pipfile.lock
index 211dd025b06e021c9aa540c64b2adfa3a51b2693..47e4e63efc16d3fdc23680b472be7568aca120b5 100644
--- a/dbrepo-dashboard-service/Pipfile.lock
+++ b/dbrepo-dashboard-service/Pipfile.lock
@@ -373,7 +373,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:22484d712e4a240a0114b90b5e8eaacbe47aa8f7fc79200557150f081faf7669"
+                "sha256:27d91126d95c24ed5f373726a9f119abd1f60ac8f4db1b8e59038ffacccd3b75"
             ],
             "path": "./lib/dbrepo-1.8.1.tar.gz"
         },
diff --git a/dbrepo-dashboard-service/init/Pipfile.lock b/dbrepo-dashboard-service/init/Pipfile.lock
index 4769507d32af65c823f66f0158ebb5ac7e855e42..698ba03e17757708639b62ef0f88a238369afb71 100644
--- a/dbrepo-dashboard-service/init/Pipfile.lock
+++ b/dbrepo-dashboard-service/init/Pipfile.lock
@@ -259,7 +259,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:22484d712e4a240a0114b90b5e8eaacbe47aa8f7fc79200557150f081faf7669"
+                "sha256:27d91126d95c24ed5f373726a9f119abd1f60ac8f4db1b8e59038ffacccd3b75"
             ],
             "path": "./lib/dbrepo-1.8.1.tar.gz"
         },
diff --git a/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1-py3-none-any.whl b/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1-py3-none-any.whl
index 261fa7958ae481d4d85bc5efc152e519fa6af802..b149b48f3dc12e6f5bac1207e647246ef981c4a7 100644
Binary files a/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1-py3-none-any.whl and b/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1-py3-none-any.whl differ
diff --git a/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1.tar.gz b/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1.tar.gz
index 0da3ea37a31f2f3cdeea212e768aab7793f29252..ff71db5d1e93933f51d937485910de5c502f79c0 100644
Binary files a/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1.tar.gz and b/dbrepo-dashboard-service/init/lib/dbrepo-1.8.1.tar.gz differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.1-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.1-py3-none-any.whl
index 261fa7958ae481d4d85bc5efc152e519fa6af802..b149b48f3dc12e6f5bac1207e647246ef981c4a7 100644
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.1-py3-none-any.whl and b/dbrepo-dashboard-service/lib/dbrepo-1.8.1-py3-none-any.whl differ
diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.1.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.1.tar.gz
index 0da3ea37a31f2f3cdeea212e768aab7793f29252..ff71db5d1e93933f51d937485910de5c502f79c0 100644
Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.1.tar.gz and b/dbrepo-dashboard-service/lib/dbrepo-1.8.1.tar.gz differ
diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock
index 00b29bcf7f9f6e99d68df9e8a0dfdabf74de51c9..b72046d18e5d89345e6fe9429d3c0948c5f8e2f5 100644
--- a/dbrepo-search-service/Pipfile.lock
+++ b/dbrepo-search-service/Pipfile.lock
@@ -373,7 +373,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:22484d712e4a240a0114b90b5e8eaacbe47aa8f7fc79200557150f081faf7669"
+                "sha256:27d91126d95c24ed5f373726a9f119abd1f60ac8f4db1b8e59038ffacccd3b75"
             ],
             "path": "./lib/dbrepo-1.8.1.tar.gz"
         },
diff --git a/dbrepo-search-service/init/Pipfile.lock b/dbrepo-search-service/init/Pipfile.lock
index 900dbd5715e72bb8c38c69ca654a1a3119f2ef69..504fe399cad18614669a19db465fbca031063a37 100644
--- a/dbrepo-search-service/init/Pipfile.lock
+++ b/dbrepo-search-service/init/Pipfile.lock
@@ -259,7 +259,7 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:22484d712e4a240a0114b90b5e8eaacbe47aa8f7fc79200557150f081faf7669"
+                "sha256:27d91126d95c24ed5f373726a9f119abd1f60ac8f4db1b8e59038ffacccd3b75"
             ],
             "path": "./lib/dbrepo-1.8.1.tar.gz"
         },
diff --git a/dbrepo-search-service/init/lib/dbrepo-1.8.1-py3-none-any.whl b/dbrepo-search-service/init/lib/dbrepo-1.8.1-py3-none-any.whl
index 261fa7958ae481d4d85bc5efc152e519fa6af802..b149b48f3dc12e6f5bac1207e647246ef981c4a7 100644
Binary files a/dbrepo-search-service/init/lib/dbrepo-1.8.1-py3-none-any.whl and b/dbrepo-search-service/init/lib/dbrepo-1.8.1-py3-none-any.whl differ
diff --git a/dbrepo-search-service/init/lib/dbrepo-1.8.1.tar.gz b/dbrepo-search-service/init/lib/dbrepo-1.8.1.tar.gz
index 0da3ea37a31f2f3cdeea212e768aab7793f29252..ff71db5d1e93933f51d937485910de5c502f79c0 100644
Binary files a/dbrepo-search-service/init/lib/dbrepo-1.8.1.tar.gz and b/dbrepo-search-service/init/lib/dbrepo-1.8.1.tar.gz differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.1-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.1-py3-none-any.whl
index 261fa7958ae481d4d85bc5efc152e519fa6af802..b149b48f3dc12e6f5bac1207e647246ef981c4a7 100644
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.1-py3-none-any.whl and b/dbrepo-search-service/lib/dbrepo-1.8.1-py3-none-any.whl differ
diff --git a/dbrepo-search-service/lib/dbrepo-1.8.1.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.1.tar.gz
index 0da3ea37a31f2f3cdeea212e768aab7793f29252..ff71db5d1e93933f51d937485910de5c502f79c0 100644
Binary files a/dbrepo-search-service/lib/dbrepo-1.8.1.tar.gz and b/dbrepo-search-service/lib/dbrepo-1.8.1.tar.gz differ
diff --git a/docker-compose.yml b/docker-compose.yml
index aefe240d07c5d95ec474b4132adb78706f50da35..65e02ca64adca69a818cd7615baf812c9dd16c14 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,3 +1,62 @@
+x-resources-nano: &resources-nano
+  resources:
+    reservations:
+      cpus: '0.1'
+      memory: 128M
+    limits:
+      cpus: '0.15'
+      memory: 192M
+
+x-resources-nano-hm: &resources-nano-hm
+  resources:
+    reservations:
+      cpus: '0.1'
+      memory: 1024M
+    limits:
+      cpus: '0.5'
+      memory: 4096M
+
+x-resources-micro: &resources-micro
+  resources:
+    reservations:
+      cpus: '0.25'
+      memory: 256M
+    limits:
+      cpus: '0.375'
+      memory: 384M
+
+x-resources-small: &resources-small
+  resources:
+    reservations:
+      cpus: '0.5'
+      memory: 512M
+    limits:
+      cpus: '0.75'
+      memory: 768M
+
+x-resources-medium: &resources-medium
+  resources:
+    reservations:
+      cpus: '0.5'
+      memory: 1024M
+    limits:
+      cpus: '0.75'
+      memory: 1536M
+
+x-resources-large: &resources-large
+  resources:
+    reservations:
+      cpus: '1'
+      memory: 2048M
+    limits:
+      cpus: '1.5'
+      memory: 3072M
+
+x-healthcheck-params: &healthcheck-params
+  interval: 30s
+  timeout: 10s
+  retries: 15
+
 volumes:
   metadata-db-data:
   data-db-data:
@@ -13,7 +72,7 @@ services:
     restart: "no"
     container_name: dbrepo-metadata-db
     hostname: metadata-db
-    image: docker.io/mariadb:11.3.2
+    image: docker.io/mariadb:${MARIADB_VERSION}
     volumes:
       - metadata-db-data:/var/lib/mysql
       - ./dbrepo-metadata-db/1_setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql
@@ -25,9 +84,9 @@ services:
       MARIADB_ROOT_PASSWORD: "${METADATA_DB_PASSWORD:-dbrepo}"
     healthcheck:
       test: ./usr/local/bin/healthcheck.sh --connect --innodb_initialized
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano-hm
     logging:
       driver: json-file
 
@@ -35,7 +94,7 @@ services:
     restart: "no"
     container_name: dbrepo-data-db
     hostname: data-db
-    image: docker.io/mariadb:11.3.2
+    image: docker.io/mariadb:${MARIADB_VERSION}
     volumes:
       - data-db-data:/var/lib/mysql
       - ./dbrepo-data-db/1_grant-user.sql:/docker-entrypoint-initdb.d/1_grant-user.sql
@@ -47,9 +106,9 @@ services:
       MARIADB_USER: "${READONLY_USERNAME:-readonly}"
     healthcheck:
       test: ./usr/local/bin/healthcheck.sh --connect --innodb_initialized
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano-hm
     logging:
       driver: json-file
 
@@ -57,7 +116,7 @@ services:
     restart: "no"
     container_name: dbrepo-auth-db
     hostname: auth-db
-    image: docker.io/bitnami/postgresql:17.0.0-debian-12-r1
+    image: docker.io/bitnami/postgresql:${POSTGRES_VERSION}
     volumes:
       - auth-db-data:/bitnami/postgresql
     ports:
@@ -69,9 +128,9 @@ services:
       PGPASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}"
     healthcheck:
       test: "psql -U ${AUTH_DB_USERNAME:-keycloak} -h 127.0.0.1 -p 5432 -d ${AUTH_DB_NAME:-keycloak} -c 'select version();'"
-      interval: 15s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     logging:
       driver: json-file
 
@@ -79,7 +138,7 @@ services:
     restart: "no"
     container_name: dbrepo-auth-service
     hostname: auth-service
-    image: docker.io/bitnami/keycloak:26.0.4-debian-12-r0
+    image: docker.io/bitnami/keycloak:${KEYCLOAK_VERSION}
     volumes:
       - ./dbrepo-auth-service/import-realms.sh:/docker-entrypoint-initdb.d/import-realms.sh
       - ./dbrepo-auth-service/master-realm.json:/opt/keycloak/data/import/master-realm.json
@@ -104,10 +163,10 @@ services:
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
-      test: curl -fsS http://localhost:8080/realms/master
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      test: curl -fsS localhost:8080/realms/master
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-small
     depends_on:
       dbrepo-identity-service:
         condition: service_healthy
@@ -132,6 +191,8 @@ services:
       READONLY_USERNAME: "${READONLY_USERNAME:-readonly}"
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin}
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -192,9 +253,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-small
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -236,9 +297,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/health | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -246,7 +307,7 @@ services:
     restart: "no"
     container_name: dbrepo-broker-service
     hostname: broker-service
-    image: docker.io/bitnami/rabbitmq:3.13.7-debian-12-r4
+    image: docker.io/bitnami/rabbitmq:${RABBITMQ_VERSION}
     ports:
       - 15672:15672
       - 5672:5672
@@ -264,9 +325,9 @@ services:
         condition: service_healthy
     healthcheck:
       test: rabbitmq-diagnostics -q is_running | grep 'is fully booted and running'
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -274,14 +335,14 @@ services:
     restart: "no"
     container_name: dbrepo-search-db
     hostname: search-db
-    image: docker.io/bitnami/opensearch:2.10.0
+    image: docker.io/bitnami/opensearch:${OPENSEARCH_VERSION}
     ports:
       - "9200:9200"
     healthcheck:
       test: curl -sSL 127.0.0.1:9200
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-medium
     volumes:
       - search-db-data:/bitnami/opensearch/data
     logging:
@@ -310,9 +371,9 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/health | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     logging:
       driver: json-file
 
@@ -340,14 +401,14 @@ services:
       NUXT_OIDC_PROVIDERS_KEYCLOAK_REDIRECT_URI: "${BASE_URL:-http://localhost}/auth/keycloak/callback"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_TOKEN_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/token"
       NUXT_OIDC_PROVIDERS_KEYCLOAK_USER_INFO_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/userinfo"
+    healthcheck:
+      test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     depends_on:
       dbrepo-search-service:
         condition: service_healthy
-    healthcheck:
-      test: curl -fsSL 127.0.0.1:3000 && curl -fsSL 127.0.0.1:3000/health
-      interval: 10s
-      timeout: 5s
-      retries: 12
     extra_hosts:
       - "localhost:host-gateway"
     logging:
@@ -357,16 +418,16 @@ services:
     restart: "no"
     container_name: dbrepo-gateway-service
     hostname: gateway-service
-    image: docker.io/nginx:1.27.3-alpine3.20-slim
+    image: docker.io/nginx:${NGINX_VERSION}
     ports:
       - "80:8080"
     volumes:
       - ./dbrepo-gateway-service/dbrepo.conf:/etc/nginx/conf.d/default.conf
     healthcheck:
       test: lsof -i TCP:80 || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-analyse-service:
         condition: service_healthy
@@ -389,7 +450,7 @@ services:
     restart: "no"
     container_name: dbrepo-identity-service
     hostname: identity-service
-    image: bitnami/openldap:2.6.8-debian-12-r1
+    image: bitnami/openldap:${OPENLDAP_VERSION}
     ports:
       - '1389:1389'
       - '1636:1636'
@@ -405,9 +466,11 @@ services:
       - identity-service-data:/bitnami/openldap
     healthcheck:
       test: "ldapwhoami -H ldap://localhost:1389 -D ${IDENTITY_SERVICE_ADMIN_DN:-cn=admin,dc=dbrepo,dc=at} -w ${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin} || exit 1"
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
+    logging:
+      driver: json-file
 
   dbrepo-search-service-init:
     restart: "no"
@@ -425,6 +488,8 @@ services:
       OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200}
       SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
+    deploy:
+      <<: *resources-nano
     depends_on:
       dbrepo-search-db:
         condition: service_healthy
@@ -433,22 +498,27 @@ services:
     logging:
       driver: json-file
 
-  dbrepo-storage-service-init:
+  dbrepo-dashboard-service-init:
     restart: "no"
     init: true
-    container_name: dbrepo-storage-service-init
-    hostname: storage-service-init
-    image: dbrepo-storage-service-init:latest
+    container_name: dbrepo-dashboard-service-init
+    hostname: search-dashboard-init
+    image: dbrepo-dashboard-service-init:latest
     build:
-      context: ./dbrepo-storage-service/init
+      context: ./dbrepo-dashboard-service/init
       network: host
     environment:
-      S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin}
-      S3_BUCKET: "${S3_BUCKET:-dbrepo}"
-      S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}
-      STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000}
+      LOG_LEVEL: ${LOG_LEVEL:-info}
+      DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}"
+      METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
+      SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
+      SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
+    deploy:
+      <<: *resources-nano
     depends_on:
-      dbrepo-storage-service:
+      dbrepo-dashboard-ui:
+        condition: service_healthy
+      dbrepo-metadata-service:
         condition: service_healthy
     logging:
       driver: json-file
@@ -457,7 +527,7 @@ services:
     restart: "no"
     container_name: dbrepo-storage-service
     hostname: storage-service
-    image: docker.io/bitnami/seaweedfs:3.71.0-debian-12-r4
+    image: docker.io/bitnami/seaweedfs:${SEAWEEDFS_VERSION}
     command: [ "server", "-s3", "-s3.port=9000", "-s3.config=/app/s3_config.json", "-metricsPort=9090" ]
     volumes:
       - ./dbrepo-storage-service/s3_config.json:/app/s3_config.json
@@ -466,9 +536,9 @@ services:
       - "8888:8888"
     healthcheck:
       test: echo "cluster.check" | weed shell | grep "checking master.*ok" || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
     logging:
       driver: json-file
 
@@ -476,15 +546,37 @@ services:
     restart: "no"
     container_name: dbrepo-metric-db
     hostname: metric-db
-    image: docker.io/bitnami/prometheus:2.54.1-debian-12-r4
+    image: docker.io/bitnami/prometheus:${PROMETHEUS_VERSION}
     volumes:
       - ./dbrepo-metric-db/prometheus.yml:/etc/prometheus/prometheus.yml
       - metric-db-data:/opt/bitnami/prometheus/data
     healthcheck:
       test: promtool check healthy
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
+    logging:
+      driver: json-file
+
+  dbrepo-storage-service-init:
+    restart: "no"
+    init: true
+    container_name: dbrepo-storage-service-init
+    hostname: storage-service-init
+    image: dbrepo-storage-service-init:latest
+    build:
+      context: ./dbrepo-storage-service/init
+      network: host
+    environment:
+      S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin}
+      S3_BUCKET: "${S3_BUCKET:-dbrepo}"
+      S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}
+      STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000}
+    deploy:
+      <<: *resources-nano
+    depends_on:
+      dbrepo-storage-service:
+        condition: service_healthy
     logging:
       driver: json-file
 
@@ -531,35 +623,43 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -sSL localhost:8080/actuator/health/liveness | grep 'UP' || exit 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-large
     depends_on:
       dbrepo-data-db:
         condition: service_healthy
     logging:
       driver: json-file
 
-  dbrepo-dashboard-service-init:
+  dbrepo-dashboard-ui:
     restart: "no"
-    init: true
-    container_name: dbrepo-dashboard-service-init
-    hostname: search-dashboard-init
-    image: dbrepo-dashboard-service-init:latest
+    container_name: dbrepo-dashboard-ui
+    hostname: dashboard-ui
+    image: dbrepo-dashboard-ui:latest
     build:
-      context: ./dbrepo-dashboard-service/init
+      context: ./dbrepo-dashboard-ui
       network: host
+    ports:
+      - "3000:3000"
+    volumes:
+      - dashboard-ui-data:/opt/bitnami/grafana/data
     environment:
-      LOG_LEVEL: ${LOG_LEVEL:-info}
-      DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}"
-      METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
-      SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}"
-      SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
-    depends_on:
-      dbrepo-dashboard-ui:
-        condition: service_healthy
-      dbrepo-metadata-service:
-        condition: service_healthy
+      BASE_URL: "${BASE_URL:-http://localhost}"
+      # do not attempt to set it in the grafana.ini, hours wasted here: 7
+      GF_SERVER_ROOT_URL: http://dashboard-ui:3000/dashboard/
+      GF_INSTALL_PLUGINS: "yesoreyeram-infinity-datasource"
+      GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION: "true"
+      LDAP_ADMIN_USERNAME: "${IDENTITY_SERVICE_ADMIN_USERNAME:-admin}"
+      LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}"
+      LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}"
+    healthcheck:
+      test: curl -fsSL --head 127.0.0.1:3000
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-nano
+    extra_hosts:
+      - "localhost:host-gateway"
     logging:
       driver: json-file
 
@@ -581,42 +681,11 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     healthcheck:
       test: curl -fsSL --head 127.0.0.1:8080/health
-      interval: 10s
-      timeout: 5s
-      retries: 12
+      <<: *healthcheck-params
+    deploy:
+      <<: *resources-micro
     depends_on:
       dbrepo-dashboard-ui:
         condition: service_healthy
     logging:
       driver: json-file
-
-  dbrepo-dashboard-ui:
-    restart: "no"
-    container_name: dbrepo-dashboard-ui
-    hostname: dashboard-ui
-    image: dbrepo-dashboard-ui:latest
-    build:
-      context: ./dbrepo-dashboard-ui
-      network: host
-    ports:
-      - "3000:3000"
-    volumes:
-      - dashboard-ui-data:/opt/bitnami/grafana/data
-    environment:
-      BASE_URL: "${BASE_URL:-http://localhost}"
-      # do not attempt to set it in the grafana.ini, hours wasted here: 7
-      GF_SERVER_ROOT_URL: http://dashboard-ui:3000/dashboard/
-      GF_INSTALL_PLUGINS: "yesoreyeram-infinity-datasource"
-      GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION: "true"
-      LDAP_ADMIN_USERNAME: "${IDENTITY_SERVICE_ADMIN_USERNAME:-admin}"
-      LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}"
-      LDAP_ROOT: "${IDENTITY_SERVICE_ROOT:-dc=dbrepo,dc=at}"
-    healthcheck:
-      test: ps -o pid= -p 1
-      interval: 10s
-      timeout: 5s
-      retries: 12
-    extra_hosts:
-      - "localhost:host-gateway"
-    logging:
-      driver: json-file
diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar
index 0b0771d3657d44c05fe9fe8fc62f2c7aef23c85b..17f47767177fc6e91dd72a83ffee382873a0f880 100644
Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ
diff --git a/helm/dbrepo/templates/_resources.tpl b/helm/dbrepo/templates/_resources.tpl
index e53a2effa29068f5ca6b0ee5293115427d2e3d3e..be31108c93f7f5bbbcf9d5a9c13313190da554db 100644
--- a/helm/dbrepo/templates/_resources.tpl
+++ b/helm/dbrepo/templates/_resources.tpl
@@ -19,7 +19,7 @@ These presets are for basic testing and not meant to be used in production
    )
   "nano-hm" (dict
       "requests" (dict "cpu" "100m" "memory" "1024Mi" "ephemeral-storage" "50Mi")
-      "limits" (dict "cpu" "500m" "memory" "2048Mi" "ephemeral-storage" "2Gi")
+      "limits" (dict "cpu" "500m" "memory" "4096Mi" "ephemeral-storage" "2Gi")
    )
   "micro" (dict
       "requests" (dict "cpu" "250m" "memory" "256Mi" "ephemeral-storage" "50Mi")
diff --git a/lib/python/sensor.csv b/lib/python/sensor.csv
deleted file mode 100644
index 9a3b18d2d91e4e65eb2d49e732a0e0a00ef993fd..0000000000000000000000000000000000000000
--- a/lib/python/sensor.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-date,precipitation,lat,lng
-2024-03-19,1.3,48.19482170115862,16.370144073925285
-2024-03-20,3.4,48.19482170115862,16.370144073925285
-2024-03-21,0,48.19482170115862,16.370144073925285
-2024-03-22,0,48.19482170115862,16.370144073925285
\ No newline at end of file
diff --git a/lib/python/smaller.csv b/lib/python/smaller.csv
deleted file mode 100644
index a8a157f85e03cb5d92981d0cd8806ca51dc4e3ee..0000000000000000000000000000000000000000
--- a/lib/python/smaller.csv
+++ /dev/null
@@ -1,9 +0,0 @@
-"00000157-ca59-4cd9-9c20-b6e07a461720","Factory/Power/Active/Sum/value","8910.427734375","1695370294.260122"
-"000001cc-6640-45cd-bca3-d4edd907993f","Factory/Power/Active/Sum/value","5193.7080078125","1686120654.770266"
-"00000819-d0d3-4e63-8bad-316fd4605072","Factory/Power/Active/Sum/value","2744.0185546875","1686161362.024192"
-"00000b14-0a50-46cc-a289-f0c2d559d348","Factory/Power/Active/Sum/value","3047.9697265625","1695324339.994483"
-"000012b9-1e54-4079-a42f-769761e4a446","Factory/Power/Active/Sum/value","3604.2626953125","1695146853.947941"
-"0000131f-bc1e-4d15-a79f-3feb7024c7bb","Factory/Power/Active/Sum/value","2871.40625","1686159611.775427"
-"00001420-94ac-4fb9-a3ca-f40105247f20","Factory/Power/Active/Sum/value","2843.608642578125","1686009614.272813"
-"00001443-769a-4bd1-b5d7-ad702a76ab93","Factory/Power/Active/Sum/value","2843.680908203125","1686002382.359535"
-"0000144f-f325-43f6-9954-7b633a935c48","Factory/Power/Active/Sum/value","2856.92724609375","1685938173.948616"