diff --git a/dbrepo-data-service/Dockerfile b/dbrepo-data-service/Dockerfile
index 7468f1c568d033c86d60579ed2c35576bcaac736..8c4f6ab6c5d294d838998cbff03ef94ec3cd1d78 100644
--- a/dbrepo-data-service/Dockerfile
+++ b/dbrepo-data-service/Dockerfile
@@ -1,8 +1,4 @@
 ###### FIRST STAGE ######
-FROM dbrepo-core:build AS dependency
-LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
-
-###### SECOND STAGE ######
 FROM maven:3-amazoncorretto-17 AS build
 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
 
@@ -10,8 +6,6 @@ COPY ./pom.xml ./
 
 RUN mvn -fn dependency:go-offline
 
-COPY --from=dependency /root/.m2/repository/at/ac/tuwien/ifs/dbrepo /root/.m2/repository/at/ac/tuwien/ifs/dbrepo
-
 COPY ./querystore ./querystore
 COPY ./report ./report
 COPY ./rest-service ./rest-service
@@ -20,11 +14,14 @@ COPY ./services ./services
 # Make sure it compiles
 RUN mvn -fn clean package -DskipTests
 
-###### THIRD STAGE ######
+###### SECOND STAGE ######
 FROM amazoncorretto:17-alpine3.19 AS runtime
 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
 
-RUN apk add --no-cache curl bash jq
+RUN apk --no-cache add \
+    bash \
+    curl \
+    jq
 
 WORKDIR /app
 
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..edea6c4ebd6ce0d7728c3da736d1b30c81efa3dd
Binary files /dev/null and b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar differ
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5
new file mode 100644
index 0000000000000000000000000000000000000000..dec793b1e8bc70e118c86d5ee2a540cdd7a2af15
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5
@@ -0,0 +1 @@
+31b7fb02b0ee64b72460aabbcfd642fe
\ No newline at end of file
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..1557fd540fb1bcf8707de8636e99b14fd411fa9e
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1
@@ -0,0 +1 @@
+3f93b6217b6dc7694d15ecd752af2df84a458bda
\ No newline at end of file
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom
new file mode 100644
index 0000000000000000000000000000000000000000..30db1b770b53b64f2bbbf54247862255c2d01c19
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+  <artifactId>dbrepo-core</artifactId>
+  <version>1.8.1</version>
+</project>
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5
new file mode 100644
index 0000000000000000000000000000000000000000..6bd616e22886309d28f18f97176c609b9e630543
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5
@@ -0,0 +1 @@
+439bfdd34cb9013bacf0fef173d229f7
\ No newline at end of file
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..c95d4a4000464a3ba6828db706d99737dffbb42a
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1
@@ -0,0 +1 @@
+df63ba72231cad9fee59b9bf10591941f6a8bbf8
\ No newline at end of file
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0c5fdda34a95cca7b91fdecd5c7ee3172331815d
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+  <artifactId>dbrepo-core</artifactId>
+  <versioning>
+    <release>1.8.1</release>
+    <versions>
+      <version>1.8.1</version>
+    </versions>
+    <lastUpdated>20250417170017</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5
new file mode 100644
index 0000000000000000000000000000000000000000..e78fb44f0bfe55a8f7266baa8d16123f0777a539
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5
@@ -0,0 +1 @@
+59052bbb00ad9c74d837ede597de9ac4
\ No newline at end of file
diff --git a/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..636417f7056180f2bb9e68d55a93bb70b3ed7a9c
--- /dev/null
+++ b/dbrepo-data-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+dc0b2a3dd9f784e16ea1a4c359a9656cc11862a8
\ No newline at end of file
diff --git a/dbrepo-logging-service/default.conf b/dbrepo-logging-service/default.conf
new file mode 100644
index 0000000000000000000000000000000000000000..2a7cdc55755578da1792635793998ee3418e581d
--- /dev/null
+++ b/dbrepo-logging-service/default.conf
@@ -0,0 +1,12 @@
+[INPUT]
+   Name cpu
+   Tag cpu
+
+[OUTPUT]
+   Name opensearch
+   Match *
+   Host search-db
+   Port 9200
+   Index logging
+   Logstash_Format True
+   Logstash_Prefix dbrepo
\ No newline at end of file
diff --git a/dbrepo-metadata-service/Dockerfile b/dbrepo-metadata-service/Dockerfile
index 8d01865d85a0d1cad2cad9f2f7849a655b9e0259..d705bdf2351bc3774119a412e2a273131907e0ca 100644
--- a/dbrepo-metadata-service/Dockerfile
+++ b/dbrepo-metadata-service/Dockerfile
@@ -1,8 +1,4 @@
 ###### FIRST STAGE ######
-FROM dbrepo-core:build AS dependency
-LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
-
-###### SECOND STAGE ######
 FROM maven:3-amazoncorretto-17 AS build
 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
 
@@ -10,8 +6,6 @@ COPY ./pom.xml ./
 
 RUN mvn -fn dependency:go-offline
 
-COPY --from=dependency /root/.m2/repository/at/ac/tuwien/ifs/dbrepo /root/.m2/repository/at/ac/tuwien/ifs/dbrepo
-
 COPY ./oai ./oai
 COPY ./report ./report
 COPY ./repositories ./repositories
@@ -21,11 +15,14 @@ COPY ./services ./services
 # Make sure it compiles
 RUN mvn -fn clean package -DskipTests
 
-###### THIRD STAGE ######
+###### SECOND STAGE ######
 FROM amazoncorretto:17-alpine3.19 AS runtime
 LABEL org.opencontainers.image.authors="martin.weise@tuwien.ac.at"
 
-RUN apk add --no-cache curl bash jq
+RUN apk --no-cache add \
+    bash \
+    curl \
+    jq
 
 WORKDIR /app
 
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..edea6c4ebd6ce0d7728c3da736d1b30c81efa3dd
Binary files /dev/null and b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar differ
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5
new file mode 100644
index 0000000000000000000000000000000000000000..dec793b1e8bc70e118c86d5ee2a540cdd7a2af15
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.md5
@@ -0,0 +1 @@
+31b7fb02b0ee64b72460aabbcfd642fe
\ No newline at end of file
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..1557fd540fb1bcf8707de8636e99b14fd411fa9e
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.jar.sha1
@@ -0,0 +1 @@
+3f93b6217b6dc7694d15ecd752af2df84a458bda
\ No newline at end of file
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom
new file mode 100644
index 0000000000000000000000000000000000000000..30db1b770b53b64f2bbbf54247862255c2d01c19
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+  <artifactId>dbrepo-core</artifactId>
+  <version>1.8.1</version>
+</project>
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5
new file mode 100644
index 0000000000000000000000000000000000000000..6bd616e22886309d28f18f97176c609b9e630543
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.md5
@@ -0,0 +1 @@
+439bfdd34cb9013bacf0fef173d229f7
\ No newline at end of file
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..c95d4a4000464a3ba6828db706d99737dffbb42a
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/1.8.1/dbrepo-core-1.8.1.pom.sha1
@@ -0,0 +1 @@
+df63ba72231cad9fee59b9bf10591941f6a8bbf8
\ No newline at end of file
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml
new file mode 100644
index 0000000000000000000000000000000000000000..98007a3c7278bcad7d0c72ce048b0c989d4647c6
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+  <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+  <artifactId>dbrepo-core</artifactId>
+  <versioning>
+    <release>1.8.1</release>
+    <versions>
+      <version>1.8.1</version>
+    </versions>
+    <lastUpdated>20250417170018</lastUpdated>
+  </versioning>
+</metadata>
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5
new file mode 100644
index 0000000000000000000000000000000000000000..1b13d5b0f36d6dee14a6b6ad5982a78348a59e02
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.md5
@@ -0,0 +1 @@
+725d5aecb7efb5b77615505e43e9354d
\ No newline at end of file
diff --git a/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1 b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1
new file mode 100644
index 0000000000000000000000000000000000000000..8ede992443e3cf6610b96b5768fba54339beac0e
--- /dev/null
+++ b/dbrepo-metadata-service/lib/at/ac/tuwien/ifs/dbrepo/dbrepo-core/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+32a5d4b6afe96feb91dbedfb60baf264a806724d
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 69db5103154eaaa6d8a589e87a9c1e8cc6caaf02..832ed9379e444c07dc4a407e08e0935bee252eb3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -57,6 +57,12 @@ x-healthcheck-params: &healthcheck-params
   timeout: 10s
   retries: 15
 
+x-logging-params: &logging-params
+  driver: fluentd
+  options:
+    fluentd-address: localhost:2020
+    tag: dbrepo.logs
+
 volumes:
   metadata-db-data:
   data-db-data:
@@ -79,6 +85,9 @@ services:
       - ./dbrepo-metadata-db/2_setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql
     ports:
       - "3306:3306"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       MARIADB_DATABASE: "${METADATA_DB:-dbrepo}"
       MARIADB_EXTRA_FLAGS: "${METADATA_DB_EXTRA_FLAGS:---max_connections=155 --max-statement-time=60}"
@@ -88,9 +97,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro-hm
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-data-db:
     restart: "no"
@@ -102,6 +110,9 @@ services:
       - ./dbrepo-data-db/1_grant-user.sql:/docker-entrypoint-startdb.d/1_grant-user.sql
     ports:
       - "3307:3306"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       MARIADB_EXTRA_FLAGS: "${DATA_DB_EXTRA_FLAGS:---max_connections=155 --max-statement-time=60}"
       MARIADB_PASSWORD: "${READONLY_PASSWORD:-readonly}"
@@ -112,9 +123,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro-hm
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-auth-db:
     restart: "no"
@@ -125,6 +135,9 @@ services:
       - auth-db-data:/bitnami/postgresql
     ports:
       - "5432:5432"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       POSTGRESQL_DATABASE: "${AUTH_DB_NAME:-keycloak}"
       POSTGRESQL_USERNAME: "${AUTH_DB_USERNAME:-keycloak}"
@@ -135,9 +148,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-auth-service:
     restart: "no"
@@ -172,14 +184,15 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-medium
-    platform: linux/amd64
     depends_on:
       dbrepo-identity-service:
         condition: service_healthy
       dbrepo-auth-db:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-auth-service-init:
     init: true
@@ -199,7 +212,6 @@ services:
       SYSTEM_PASSWORD: ${SYSTEM_PASSWORD:-admin}
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -207,8 +219,10 @@ services:
         condition: service_healthy
       dbrepo-metadata-db:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-metadata-service:
     restart: "no"
@@ -263,7 +277,6 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-small
-    platform: linux/amd64
     depends_on:
       dbrepo-auth-service:
         condition: service_healthy
@@ -277,8 +290,10 @@ services:
         condition: service_healthy
       dbrepo-metadata-db:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-analyse-service:
     restart: "no"
@@ -290,6 +305,9 @@ services:
       network: host
     ports:
       - "4050:8080"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
       AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
@@ -308,9 +326,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-broker-service:
     restart: "no"
@@ -332,14 +349,15 @@ services:
     depends_on:
       dbrepo-identity-service:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     healthcheck:
       test: rabbitmq-diagnostics -q is_running | grep 'is fully booted and running'
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-search-db:
     restart: "no"
@@ -355,7 +373,6 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-medium
-    platform: linux/amd64
     logging:
       driver: json-file
 
@@ -369,6 +386,9 @@ services:
       network: host
     ports:
       - "4060:8080"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
       AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
@@ -385,9 +405,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-ui:
     restart: "no"
@@ -418,14 +437,15 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     depends_on:
       dbrepo-search-service:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     extra_hosts:
       - "localhost:host-gateway"
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-gateway-service:
     restart: "no"
@@ -441,7 +461,6 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     depends_on:
       dbrepo-analyse-service:
         condition: service_healthy
@@ -457,8 +476,10 @@ services:
         condition: service_healthy
       dbrepo-ui:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-identity-service:
     restart: "no"
@@ -468,6 +489,9 @@ services:
     ports:
       - '1389:1389'
       - '1636:1636'
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     environment:
       LDAP_ADMIN_USERNAME: "${IDENTITY_SERVICE_ADMIN_USERNAME:-admin}"
       LDAP_ADMIN_PASSWORD: "${IDENTITY_SERVICE_ADMIN_PASSWORD:-admin}"
@@ -483,9 +507,8 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-search-service-init:
     restart: "no"
@@ -506,14 +529,15 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     depends_on:
       dbrepo-search-db:
         condition: service_healthy
       dbrepo-metadata-service:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-dashboard-service-init:
     restart: "no"
@@ -533,14 +557,15 @@ services:
       SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}"
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     depends_on:
       dbrepo-dashboard-ui:
         condition: service_healthy
       dbrepo-metadata-service:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-storage-service:
     restart: "no"
@@ -553,14 +578,16 @@ services:
     ports:
       - "9000:9000"
       - "8888:8888"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     healthcheck:
       test: echo "cluster.check" | weed shell | grep "checking master.*ok" || exit 1
       <<: *healthcheck-params
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-metric-db:
     restart: "no"
@@ -570,14 +597,16 @@ services:
     volumes:
       - ./dbrepo-metric-db/prometheus.yml:/etc/prometheus/prometheus.yml
       - metric-db-data:/opt/bitnami/prometheus/data
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     healthcheck:
       test: promtool check healthy
       <<: *healthcheck-params
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-storage-service-init:
     restart: "no"
@@ -595,12 +624,13 @@ services:
       STORAGE_ENDPOINT: ${STORAGE_ENDPOINT:-http://storage-service:9000}
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     depends_on:
       dbrepo-storage-service:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-data-service:
     restart: "no"
@@ -648,12 +678,13 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-large
-    platform: linux/amd64
     depends_on:
       dbrepo-data-db:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-dashboard-ui:
     restart: "no"
@@ -665,6 +696,9 @@ services:
       network: host
     ports:
       - "3000:3000"
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
     volumes:
       - dashboard-ui-data:/opt/bitnami/grafana/data
     environment:
@@ -681,11 +715,10 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-nano
-    platform: linux/amd64
     extra_hosts:
       - "localhost:host-gateway"
     logging:
-      driver: json-file
+      <<: *logging-params
 
   dbrepo-dashboard-service:
     restart: "no"
@@ -708,9 +741,50 @@ services:
       <<: *healthcheck-params
     deploy:
       <<: *resources-micro
-    platform: linux/amd64
     depends_on:
       dbrepo-dashboard-ui:
         condition: service_healthy
+      dbrepo-logging-service:
+        condition: service_healthy
+    logging:
+      <<: *logging-params
+
+  dbrepo-logging-service:
+    restart: "no"
+    container_name: dbrepo-logging-service
+    hostname: logging-service
+    image: docker.io/bitnami/fluent-bit:4.0.0
+    ports:
+      - "2020:2020"
+    environment:
+      FLUENTD_CONF: default.conf
+    volumes:
+      - ./dbrepo-logging-service/default.conf:/fluentd/etc/default.conf
+    deploy:
+      <<: *resources-nano
+    healthcheck:
+      test: ps -p 1 | grep "fluent-bit"
+      <<: *healthcheck-params
+    depends_on:
+      dbrepo-search-db:
+        condition: service_healthy
     logging:
       driver: json-file
+
+  dbrepo-logging-ui:
+    restart: "no"
+    container_name: dbrepo-logging-ui
+    hostname: logging-ui
+    image: docker.io/bitnami/opensearch-dashboards:2.10.0
+    ports:
+      - "5601:5601"
+    environment:
+      OPENSEARCH_DASHBOARDS_OPENSEARCH_URL: "${OPENSEARCH_HOST:-search-db}"
+      OPENSEARCH_DASHBOARDS_OPENSEARCH_PORT_NUMBER: "${OPENSEARCH_PORT:-9200}"
+    deploy:
+      <<: *resources-micro
+    depends_on:
+      dbrepo-logging-service:
+        condition: service_healthy
+    logging:
+      <<: *logging-params
diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar
index f1c8ff378169a787cc021fa5cb2eafc7795170a0..c0d3347880d8d44ca69805d75e4132225cd022f8 100644
Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ
diff --git a/make/build.mk b/make/build.mk
index 311cdecd97ac8e918d50a5fdfd3b44c9749a28fe..f767915fb1b772f92c0043c6657410735f25a1c5 100644
--- a/make/build.mk
+++ b/make/build.mk
@@ -1,19 +1,14 @@
 ##@ Build
 
 .PHONY: build-images
-build-images: ## Build Docker images.
-	docker build --network=host -t dbrepo-core:build --target build ./lib/java/dbrepo-core
-	docker build --network=host -t dbrepo-data-service:build --target build dbrepo-data-service
-	docker build --network=host -t dbrepo-metadata-service:build --target build dbrepo-metadata-service
+build-images: build-java-lib ## Build Docker images.
 	docker compose build --parallel
 
-.PHONY: build-data-service
-build-data-service: ## Build the Data Service.
-	mvn -f ./dbrepo-data-service/pom.xml clean package -DskipTests
-
-.PHONY: build-metadata-service
-build-metadata-service: ## Build the Metadata Service.
-	mvn -f ./dbrepo-metadata-service/pom.xml clean package -DskipTests
+.PHONY: build-java-lib
+build-java-lib: ## Build the Java Library.
+	mvn -f ./lib/java/dbrepo-core/pom.xml clean package -DskipTests
+	mvn deploy:deploy-file -Dfile=./lib/java/dbrepo-core/target/dbrepo-core-$(APP_VERSION).jar -DgroupId=at.ac.tuwien.ifs.dbrepo -DartifactId=dbrepo-core -Dversion=$(APP_VERSION) -Dpackaging=jar -Durl=file:./dbrepo-data-service/lib/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true
+	mvn deploy:deploy-file -Dfile=./lib/java/dbrepo-core/target/dbrepo-core-$(APP_VERSION).jar -DgroupId=at.ac.tuwien.ifs.dbrepo -DartifactId=dbrepo-core -Dversion=$(APP_VERSION) -Dpackaging=jar -Durl=file:./dbrepo-metadata-service/lib/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true
 
 .PHONY: build-auth-event-listener
 build-auth-event-listener: ## Build the Auth Service Event Listener.
@@ -24,8 +19,8 @@ build-auth-event-listener: ## Build the Auth Service Event Listener.
 build-ui: ## Build the UI.
 	bun --cwd ./dbrepo-ui build
 
-.PHONY: build-lib
-build-lib: ## Build the Python Library.
+.PHONY: build-python-lib
+build-python-lib: ## Build the Python Library.
 	rm -rf ./dbrepo-analyse-service/venv/ ./dbrepo-analyse-service/Pipfile.lock ./dbrepo-analyse-service/lib/*
 	rm -rf ./dbrepo-search-service/venv/ ./dbrepo-search-service/Pipfile.lock ./dbrepo-search-service/lib/*
 	rm -rf ./dbrepo-dashboard-service/venv/ ./dbrepo-dashboard-service/Pipfile.lock ./dbrepo-dashboard-service/lib/*
diff --git a/make/dev.mk b/make/dev.mk
index d5a8cd513a7760de0fb4d4c5044d36daebf51d53..dbad9eff6f9e2783433be779a93a7793b504a8b7 100644
--- a/make/dev.mk
+++ b/make/dev.mk
@@ -6,7 +6,6 @@ start-dev: build-images build-auth-event-listener ## Start the development deplo
 	docker container rm dbrepo-gateway-service || true
 	docker compose up -d
 
-
 .PHONY: stop-dev
 stop-dev: ## Stop the development deployment and remove all data.
 	docker compose down