diff --git a/dbrepo-analyse-service/Dockerfile b/dbrepo-analyse-service/Dockerfile
index d442cb5f68d657019daaee79a77b1fc7cd6f433c..802686ed74e8a86e7e7395b7f496a0a0374e45e6 100644
--- a/dbrepo-analyse-service/Dockerfile
+++ b/dbrepo-analyse-service/Dockerfile
@@ -1,11 +1,13 @@
 FROM python:3.9-alpine
 MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
 
-RUN apk update && apk --no-cache add build-base gcc python3-dev libpq-dev libffi-dev py3-pandas \
+RUN apk update && apk --no-cache add build-base gcc python3-dev libpq-dev libffi-dev bash curl py3-pandas \
     py3-sqlalchemy py3-requests py3-gevent py3-psycopg2
 
 COPY ./requirements.txt ./requirements.txt
-RUN pip install -r ./requirements.txt
+COPY ./healthcheck.sh ./healthcheck.sh
+
+RUN pip install -r requirements.txt > /dev/null
 
 WORKDIR /app
 
@@ -15,13 +17,10 @@ ENV PORT_APP=5000
 ENV FLASK_ENV=production
 ENV HOSTNAME=analyse-service
 
-HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD ./service_ready
+HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD ["bash", "/app/healthcheck.sh"]
 
 COPY ./as-yml/ ./as-yml/
 COPY ./*.py ./
-COPY ./service_ready ./
-
-RUN chmod +x ./service_ready
 
 EXPOSE $PORT_APP
 
diff --git a/dbrepo-analyse-service/healthcheck.sh b/dbrepo-analyse-service/healthcheck.sh
new file mode 100644
index 0000000000000000000000000000000000000000..01dd083f370ea41ff6bb73c626eb4fc089b76ad1
--- /dev/null
+++ b/dbrepo-analyse-service/healthcheck.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+HTTP_CODE=$(curl --silent --output /dev/stderr --write-out "%{http_code}" 'http://0.0.0.0:5000/metrics')
+if test $HTTP_CODE -ne 200; then
+  exit 1
+fi
\ No newline at end of file
diff --git a/dbrepo-analyse-service/service_ready b/dbrepo-analyse-service/service_ready
deleted file mode 100644
index c08320ed21abefccb54ec637d0c517b1d0e42559..0000000000000000000000000000000000000000
--- a/dbrepo-analyse-service/service_ready
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/local/bin/python
-import socket
-sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-result = sock.connect_ex(('127.0.0.1', 5000))
-if result == 0:
-   print("Port is open")
-   exit(0)
-else:
-   print("Port is not open")
-   exit(1)
-sock.close()
\ No newline at end of file
diff --git a/dbrepo-semantics-service/Dockerfile b/dbrepo-semantics-service/Dockerfile
index 07f4c1abb1cd90e2bc34da67d8f80ca5a33d5eb4..d676ca3f38d2e9dd55da8b2ae2af33dee7cd5afa 100644
--- a/dbrepo-semantics-service/Dockerfile
+++ b/dbrepo-semantics-service/Dockerfile
@@ -2,7 +2,7 @@ FROM python:3.9-alpine
 MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
 
 RUN apk update && apk --no-cache add build-base gcc python3-dev libpq-dev libffi-dev mariadb-dev mariadb-connector-c \
-    mariadb-connector-c-dev py3-pandas py3-sqlalchemy py3-requests py3-gevent py3-psycopg2
+    mariadb-connector-c-dev curl bash py3-pandas py3-sqlalchemy py3-requests py3-gevent py3-psycopg2
 
 COPY ./requirements.txt ./requirements.txt
 RUN pip install -r ./requirements.txt
@@ -14,7 +14,6 @@ ENV FLASK_RUN_HOST=0.0.0.0
 ENV PORT_APP=5010
 ENV FLASK_DEBUG=0
 ENV HOSTNAME=semantics-service
-ENV READY_FILE=/ready
 ENV LOG_LEVEL=debug
 ENV METADATA_DB=fda
 ENV METADATA_USERNAME=root
@@ -22,14 +21,12 @@ ENV METADATA_PASSWORD=dbrepo
 ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
-COPY requirements.txt requirements.txt
+COPY ./requirements.txt ./requirements.txt
+COPY ./healthcheck.sh ./healthcheck.sh
 
 RUN pip install -r requirements.txt > /dev/null
 
-COPY ./service_ready /usr/bin
-RUN chmod +x /usr/bin/service_ready
-
-HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD service_ready
+HEALTHCHECK --interval=10s --timeout=5s --retries=12 CMD ["bash", "/app/healthcheck.sh"]
 
 EXPOSE $PORT_APP
 
diff --git a/dbrepo-semantics-service/healthcheck.sh b/dbrepo-semantics-service/healthcheck.sh
new file mode 100644
index 0000000000000000000000000000000000000000..0854264b627e9d8ef06b338ff4931c00893f3dfc
--- /dev/null
+++ b/dbrepo-semantics-service/healthcheck.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+HTTP_CODE=$(curl --silent --output /dev/stderr --write-out "%{http_code}" 'http://0.0.0.0:5010/metrics')
+if test $HTTP_CODE -ne 200; then
+  exit 1
+fi
\ No newline at end of file
diff --git a/dbrepo-semantics-service/pywsgi.py b/dbrepo-semantics-service/pywsgi.py
index 73578a6f8b4ad1bbbfe0f01e3cc9ca9c14797680..ed26090cef50e4c1255af334bd40e0c4fc57f4fa 100644
--- a/dbrepo-semantics-service/pywsgi.py
+++ b/dbrepo-semantics-service/pywsgi.py
@@ -10,6 +10,4 @@ path = os.getenv('READY_FILE', './ready')
 logging.basicConfig(format='%(asctime)s %(levelname)-6s %(message)s', level=logging.DEBUG)
 
 http_server = WSGIServer(listener=(rest_server_host, rest_server_port), application=app, log=logging)
-with open(path, 'w') as f:
-    logging.info(f'Service is ready, create file at {path}')
 http_server.serve_forever()
diff --git a/dbrepo-semantics-service/service_ready b/dbrepo-semantics-service/service_ready
deleted file mode 100644
index 52b578bd3275133b2d4913c327faf1e9a2f98ef1..0000000000000000000000000000000000000000
--- a/dbrepo-semantics-service/service_ready
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-if [ -f "${READY_FILE}" ]; then
-  echo "service is ready and accepting connections"
-  exit 0
-fi
-exit 1
\ No newline at end of file