diff --git a/.env.unix.example b/.env.unix.example
index 0c0ec3bc05b29074c26887f5306074c31e1beb6b..890b2385aadbda123203fa85546631e1e42cace4 100644
--- a/.env.unix.example
+++ b/.env.unix.example
@@ -1,6 +1,6 @@
 DBREPO_CLIENT_SECRET=MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG
 RABBITMQ_CLIENT_SECRET=JEC2FexxrX4N65fLeDGukAl6R3Lc9y0u
-JWT_ISSUER=https://localhost:8443/realms/dbrepo
+JWT_ISSUER=https://localhost/realms/dbrepo
 JWT_PUBKEY=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
 JWT_CERT=MIICmzCCAYMCBgGG3GWyBTANBgkqhkiG9w0BAQsFADARMQ8wDQYDVQQDDAZkYnJlcG8wHhcNMjMwMzEzMTkxMzE3WhcNMzMwMzEzMTkxNDU3WjARMQ8wDQYDVQQDDAZkYnJlcG8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqqcdDYFZZb28M0tEJzEP77FmD/Xqioyj9zWX6VwUSOMAgmMmn8eqs9hT9T0a+q4YTo9tUW1PNbUpwprA5b4Uk04DcIajxDVMUR/PjcHytmkqwVskq9AZW/Vngdoo+8tSbuIybwe/3Vwt266hbHpDcM97a+DXcYooRl7tQWCEX7RP27wQrMD9epDQ6IgKayZg9vC9/03dsIqwH9jXQRiZlFvwiEKhX2aY7lPGBaCK414JO00K/Z49iov9TRa/IYVbSt5qwgrx6DcqsBSPwOnI6A85UGfeUEZ/7coVJiL7RvBlsllapsL9eWTbQajVh94k9Ei3sibEPbtH+U2OAM78zAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAASnN1Cuif1sdfEK2kWAURSXGJCohCROLWdKFjaeHPRaEfpbFJsgxW0Yj3nwX5O3bUlOWoTyENwnXSsXMQsqnNi+At32CKaKO8+AkhAbgQL9F0B+KeJwmYv3cUj5N/LYkJjBvZBzUZ4Ugu5dcxH0k7AktLAIwimkyEnxTNolOA3UyrGGpREr8MCKWVr10RFuOpF/0CsJNNwbHXzalO9D756EUcRWZ9VSg6QVNso0YYRKTnILWDn9hcTRnqGy3SHo3anFTqQZ+BB57YbgFWy6udC0LYRB3zdp6zNti87eu/VEymiDY/mmo1AB8Tm0b6vxFz4AKcL3ax5qS6YnZ9efSzk=
 SHARED_FILESYSTEM=/tmp
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c01079417bcb336b0e471b092c01540ddc0e30bb..8f79a65c043ffb47054e3869fa94083754caf563 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -55,13 +55,6 @@ build-database-service:
   script:
     - "make build-database-service"
 
-build-discovery-service:
-  stage: build-backend
-  needs:
-    - build-metadata-db
-  script:
-    - "make build-discovery-service"
-
 build-gateway-service:
   stage: build-backend
   needs:
@@ -177,23 +170,6 @@ test-database-service:
   coverage: '/Total.*?([0-9]{1,3})%/'
   timeout: 2 hour
 
-test-discovery-service:
-  stage: test-backend
-  needs:
-    - build-discovery-service
-  script:
-    - "make test-discovery-service"
-    - "cat ./dbrepo-discovery-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-discovery-service/report/target/site/jacoco-aggregate/
-      - ./dbrepo-discovery-service/discovery/target/surefire-reports/
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-discovery-service/discovery/target/surefire-reports/TEST-*.xml
-  coverage: '/Total.*?([0-9]{1,3})%/'
-
 test-query-service:
   stage: test-backend
   needs:
@@ -246,23 +222,6 @@ test-metadata-service:
       junit: ./dbrepo-metadata-service/rest-service/target/surefire-reports/TEST-*.xml
   coverage: '/Total.*?([0-9]{1,3})%/'
 
-test-gateway-service:
-  stage: test-backend
-  needs:
-    - build-gateway-service
-  script:
-    - "make test-gateway-service"
-    - "echo 'Jacoco Coverage Total: 100%'"
-  artifacts:
-    when: always
-    paths:
-      - ./dbrepo-gateway-service/report/target/site/jacoco-aggregate/
-      - ./dbrepo-metadata-service/gateway/target/surefire-reports/
-    expire_in: 1 days
-    reports:
-      junit: ./dbrepo-gateway-service/gateway/target/surefire-reports/TEST-*.xml
-  coverage: '/Total.*?([0-9]{1,3})%/'
-
 test-semantics-service:
   stage: test-backend
   needs:
@@ -320,7 +279,6 @@ build-docker:
     - build-identifier-service
     - build-container-service
     - build-database-service
-    - build-discovery-service
     - build-gateway-service
     - build-query-service
     - build-table-service
@@ -427,24 +385,6 @@ scan-database-service:
     reports:
       container_scanning: ./.trivy/trivy-database-service-report.json
 
-scan-discovery-service:
-  stage: scan-docker
-  needs:
-    - build-docker
-  allow_failure: true
-  before_script:
-    - docker logout ghcr.io
-  script:
-    - make scan-discovery-service
-  cache:
-    paths:
-      - .trivycache/
-  artifacts:
-    when: always
-    expire_in: 1 days
-    reports:
-      container_scanning: ./.trivy/trivy-discovery-service-report.json
-
 scan-gateway-service:
   stage: scan-docker
   needs:
@@ -651,7 +591,6 @@ release-latest:
     - scan-broker-service
     - scan-container-service
     - scan-database-service
-    - scan-discovery-service
     - scan-gateway-service
     - scan-identifier-service
     - scan-metadata-db
@@ -679,7 +618,6 @@ release-version:
     - scan-broker-service
     - scan-container-service
     - scan-database-service
-    - scan-discovery-service
     - scan-gateway-service
     - scan-identifier-service
     - scan-metadata-db
diff --git a/dbrepo-analyse-service/Dockerfile b/dbrepo-analyse-service/Dockerfile
index 802686ed74e8a86e7e7395b7f496a0a0374e45e6..9e4c027a543e0bc3a00510d2f58ef6b4bf376dcd 100644
--- a/dbrepo-analyse-service/Dockerfile
+++ b/dbrepo-analyse-service/Dockerfile
@@ -4,12 +4,12 @@ MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
 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
-COPY ./healthcheck.sh ./healthcheck.sh
+WORKDIR /app
 
+COPY ./requirements.txt ./requirements.txt
 RUN pip install -r requirements.txt > /dev/null
 
-WORKDIR /app
+COPY ./healthcheck.sh ./healthcheck.sh
 
 ENV FLASK_APP=app.py
 ENV FLASK_RUN_HOST=0.0.0.0
diff --git a/dbrepo-authentication-service/Dockerfile b/dbrepo-authentication-service/Dockerfile
index 579d599274724c62789bcbaf5f1deb3cb436bdd8..9355947d1a6967b8640561edf7734ef2ed614125 100644
--- a/dbrepo-authentication-service/Dockerfile
+++ b/dbrepo-authentication-service/Dockerfile
@@ -1,7 +1,6 @@
 ###### FIRST STAGE ######
-FROM keycloak/keycloak:21.1 as config
+FROM keycloak/keycloak:21.0 as config
 MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-LABEL service=authentication
 
 # Enable health and metrics support
 ENV KC_HEALTH_ENABLED=true
@@ -22,8 +21,8 @@ FROM redhat/ubi9-minimal as binary
 
 RUN microdnf update -y && microdnf install -y curl-minimal libcurl-minimal
 
-###### FOURTH STAGE ######
-FROM keycloak/keycloak:21.1 as runtime
+###### THIRD STAGE ######
+FROM keycloak/keycloak:21.0 as runtime
 
 COPY --from=config /opt/keycloak/ /opt/keycloak/
 COPY --from=binary /usr/lib64 /usr/lib64
diff --git a/dbrepo-authentication-service/dbrepo-realm.json b/dbrepo-authentication-service/dbrepo-realm.json
index c3b1302374829703fd21ad3adc553d65ac8d9bf2..4e65cc8efebf40cc8d206326fd2b08e1fa574722 100644
--- a/dbrepo-authentication-service/dbrepo-realm.json
+++ b/dbrepo-authentication-service/dbrepo-realm.json
@@ -909,7 +909,7 @@
   "otpPolicyLookAheadWindow" : 1,
   "otpPolicyPeriod" : 30,
   "otpPolicyCodeReusable" : false,
-  "otpSupportedApplications" : [ "totpAppGoogleName", "totpAppFreeOTPName", "totpAppMicrosoftAuthenticatorName" ],
+  "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppMicrosoftAuthenticatorName", "totpAppGoogleName" ],
   "webAuthnPolicyRpEntityName" : "keycloak",
   "webAuthnPolicySignatureAlgorithms" : [ "ES256" ],
   "webAuthnPolicyRpId" : "",
@@ -1838,7 +1838,40 @@
   "enabledEventTypes" : [ "SEND_RESET_PASSWORD", "UPDATE_CONSENT_ERROR", "GRANT_CONSENT", "VERIFY_PROFILE_ERROR", "REMOVE_TOTP", "REVOKE_GRANT", "UPDATE_TOTP", "LOGIN_ERROR", "CLIENT_LOGIN", "RESET_PASSWORD_ERROR", "IMPERSONATE_ERROR", "CODE_TO_TOKEN_ERROR", "CUSTOM_REQUIRED_ACTION", "OAUTH2_DEVICE_CODE_TO_TOKEN_ERROR", "RESTART_AUTHENTICATION", "IMPERSONATE", "UPDATE_PROFILE_ERROR", "LOGIN", "OAUTH2_DEVICE_VERIFY_USER_CODE", "UPDATE_PASSWORD_ERROR", "CLIENT_INITIATED_ACCOUNT_LINKING", "TOKEN_EXCHANGE", "AUTHREQID_TO_TOKEN", "LOGOUT", "REGISTER", "DELETE_ACCOUNT_ERROR", "CLIENT_REGISTER", "IDENTITY_PROVIDER_LINK_ACCOUNT", "DELETE_ACCOUNT", "UPDATE_PASSWORD", "CLIENT_DELETE", "FEDERATED_IDENTITY_LINK_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN", "CLIENT_DELETE_ERROR", "VERIFY_EMAIL", "CLIENT_LOGIN_ERROR", "RESTART_AUTHENTICATION_ERROR", "EXECUTE_ACTIONS", "REMOVE_FEDERATED_IDENTITY_ERROR", "TOKEN_EXCHANGE_ERROR", "PERMISSION_TOKEN", "SEND_IDENTITY_PROVIDER_LINK_ERROR", "EXECUTE_ACTION_TOKEN_ERROR", "SEND_VERIFY_EMAIL", "OAUTH2_DEVICE_AUTH", "EXECUTE_ACTIONS_ERROR", "REMOVE_FEDERATED_IDENTITY", "OAUTH2_DEVICE_CODE_TO_TOKEN", "IDENTITY_PROVIDER_POST_LOGIN", "IDENTITY_PROVIDER_LINK_ACCOUNT_ERROR", "OAUTH2_DEVICE_VERIFY_USER_CODE_ERROR", "UPDATE_EMAIL", "REGISTER_ERROR", "REVOKE_GRANT_ERROR", "EXECUTE_ACTION_TOKEN", "LOGOUT_ERROR", "UPDATE_EMAIL_ERROR", "CLIENT_UPDATE_ERROR", "AUTHREQID_TO_TOKEN_ERROR", "UPDATE_PROFILE", "CLIENT_REGISTER_ERROR", "FEDERATED_IDENTITY_LINK", "SEND_IDENTITY_PROVIDER_LINK", "SEND_VERIFY_EMAIL_ERROR", "RESET_PASSWORD", "CLIENT_INITIATED_ACCOUNT_LINKING_ERROR", "OAUTH2_DEVICE_AUTH_ERROR", "UPDATE_CONSENT", "REMOVE_TOTP_ERROR", "VERIFY_EMAIL_ERROR", "SEND_RESET_PASSWORD_ERROR", "CLIENT_UPDATE", "CUSTOM_REQUIRED_ACTION_ERROR", "IDENTITY_PROVIDER_POST_LOGIN_ERROR", "UPDATE_TOTP_ERROR", "CODE_TO_TOKEN", "VERIFY_PROFILE", "GRANT_CONSENT_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN_ERROR" ],
   "adminEventsEnabled" : false,
   "adminEventsDetailsEnabled" : false,
-  "identityProviders" : [ ],
+  "identityProviders" : [ {
+    "alias" : "saml",
+    "displayName" : "",
+    "internalId" : "4a2378b1-4e46-4783-a663-b33f3bd95061",
+    "providerId" : "saml",
+    "enabled" : true,
+    "updateProfileFirstLoginMode" : "on",
+    "trustEmail" : false,
+    "storeToken" : false,
+    "addReadTokenRoleOnCreate" : false,
+    "authenticateByDefault" : false,
+    "linkOnly" : false,
+    "firstBrokerLoginFlowAlias" : "first broker login",
+    "config" : {
+      "validateSignature" : "false",
+      "postBindingLogout" : "false",
+      "nameIDPolicyFormat" : "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",
+      "postBindingResponse" : "false",
+      "entityId" : "https://dbrepo2.ec.tuwien.ac.at/realms/dbrepo",
+      "backchannelSupported" : "false",
+      "signSpMetadata" : "false",
+      "wantAssertionsEncrypted" : "false",
+      "loginHint" : "false",
+      "allowCreate" : "true",
+      "wantAssertionsSigned" : "false",
+      "postBindingAuthnRequest" : "false",
+      "forceAuthn" : "false",
+      "attributeConsumingServiceIndex" : "0",
+      "singleSignOnServiceUrl" : "https://idp.zid.tuwien.ac.at/",
+      "wantAuthnRequestsSigned" : "false",
+      "allowedClockSkew" : "0",
+      "principalType" : "Subject NameID"
+    }
+  } ],
   "identityProviderMappers" : [ ],
   "components" : {
     "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ {
@@ -1899,7 +1932,7 @@
       "subType" : "authenticated",
       "subComponents" : { },
       "config" : {
-        "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper" ]
+        "allowed-protocol-mapper-types" : [ "oidc-usermodel-attribute-mapper", "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-property-mapper", "saml-role-list-mapper", "oidc-address-mapper", "saml-user-attribute-mapper" ]
       }
     }, {
       "id" : "3ab11d74-5e76-408a-b85a-26bf8950f979",
@@ -1908,7 +1941,7 @@
       "subType" : "anonymous",
       "subComponents" : { },
       "config" : {
-        "allowed-protocol-mapper-types" : [ "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "saml-user-property-mapper", "oidc-address-mapper", "oidc-usermodel-property-mapper" ]
+        "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-usermodel-property-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper" ]
       }
     } ],
     "org.keycloak.keys.KeyProvider" : [ {
@@ -1960,7 +1993,7 @@
   "internationalizationEnabled" : false,
   "supportedLocales" : [ ],
   "authenticationFlows" : [ {
-    "id" : "85d85037-1863-4869-b9ab-09582853f779",
+    "id" : "7e7d6810-5b6c-4ec6-865c-5f0b62ec56d7",
     "alias" : "Account verification options",
     "description" : "Method with which to verity the existing account",
     "providerId" : "basic-flow",
@@ -1982,7 +2015,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "e89d11ed-c578-409a-aaed-d00db2951f66",
+    "id" : "6d972ab3-0618-4971-b44a-0fc0d11c7280",
     "alias" : "Authentication Options",
     "description" : "Authentication options.",
     "providerId" : "basic-flow",
@@ -2011,7 +2044,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "5bfb765d-30bf-4708-b85e-01beb0813a75",
+    "id" : "821a14e0-ef26-4b07-b716-fa34393eda56",
     "alias" : "Browser - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2033,7 +2066,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "dfe729c0-df4b-4b9b-8170-fd29d703f691",
+    "id" : "e70eadbd-4c39-4cfd-86ac-e50acc753b1b",
     "alias" : "Direct Grant - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2055,7 +2088,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "e52f6f8c-edd8-42eb-a956-1e642d054a09",
+    "id" : "4e35af97-acf4-4ca8-bc81-0477c1adfb6d",
     "alias" : "First broker login - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2077,7 +2110,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "0fcdfbb3-4e4f-4c55-9e06-9baf3afef314",
+    "id" : "2e0bd063-274a-4aab-a5f0-038a0bca5b98",
     "alias" : "Handle Existing Account",
     "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
     "providerId" : "basic-flow",
@@ -2099,7 +2132,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "a3db4f3a-a772-4530-b948-c2ea688dc993",
+    "id" : "6a20fab2-44bb-4451-b29a-6fb7e14a52ce",
     "alias" : "Reset - Conditional OTP",
     "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
     "providerId" : "basic-flow",
@@ -2121,7 +2154,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "d540d238-e69c-4eb1-8238-bf43c9f59118",
+    "id" : "159d7398-74a7-4f60-a3fd-eb2df46f5ce7",
     "alias" : "User creation or linking",
     "description" : "Flow for the existing/non-existing user alternatives",
     "providerId" : "basic-flow",
@@ -2144,7 +2177,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "b0b433e3-3a58-4915-8833-ad55fef4aab7",
+    "id" : "85a66c55-4665-4ba0-bec9-7254eb8e5895",
     "alias" : "Verify Existing Account by Re-authentication",
     "description" : "Reauthentication of existing account",
     "providerId" : "basic-flow",
@@ -2166,7 +2199,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "68ec036a-f399-4980-80b7-a27867f5e650",
+    "id" : "c002e6da-2397-4fae-8d48-1eec3719ca15",
     "alias" : "browser",
     "description" : "browser based authentication",
     "providerId" : "basic-flow",
@@ -2202,7 +2235,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "aa32f681-942b-4194-b8df-124f210bcaa9",
+    "id" : "a03631cf-2fea-4a12-a35c-8137023503bd",
     "alias" : "clients",
     "description" : "Base authentication for clients",
     "providerId" : "client-flow",
@@ -2238,7 +2271,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "1169765a-7850-4a9a-9a72-9a9dcf75ac8b",
+    "id" : "a89940e4-bf4d-4a04-8fdf-dcf775336b20",
     "alias" : "direct grant",
     "description" : "OpenID Connect Resource Owner Grant",
     "providerId" : "basic-flow",
@@ -2267,7 +2300,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "60f23852-a761-4290-982b-c51876f4c382",
+    "id" : "2dc2582b-be6f-4d9a-b545-b2c0e79a3581",
     "alias" : "docker auth",
     "description" : "Used by Docker clients to authenticate against the IDP",
     "providerId" : "basic-flow",
@@ -2282,7 +2315,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "a09aa7bd-3f8f-444d-83d0-f095b5f7c6bb",
+    "id" : "09e56692-226f-4384-85e0-e33463cdb226",
     "alias" : "first broker login",
     "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
     "providerId" : "basic-flow",
@@ -2305,7 +2338,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "85d2028a-ab84-4fcb-8088-94c927051018",
+    "id" : "1439c900-92e0-4230-a1a7-ae82c3b8ddc9",
     "alias" : "forms",
     "description" : "Username, password, otp and other auth forms.",
     "providerId" : "basic-flow",
@@ -2327,7 +2360,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "43ffa27d-3940-4b9b-857d-85f2b3729710",
+    "id" : "4cc3bb1b-e85d-447e-b50e-1afbe107bafe",
     "alias" : "http challenge",
     "description" : "An authentication flow based on challenge-response HTTP Authentication Schemes",
     "providerId" : "basic-flow",
@@ -2349,7 +2382,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "2e900379-7ae7-431d-a586-2014f7688aa0",
+    "id" : "04c49d80-30e4-4a37-b1c7-4d18c1b6a7f1",
     "alias" : "registration",
     "description" : "registration flow",
     "providerId" : "basic-flow",
@@ -2365,7 +2398,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "844942ca-41ae-4d50-b3ab-7815d9df6332",
+    "id" : "85abb75a-0774-4b2d-8a71-2a92b0cfb639",
     "alias" : "registration form",
     "description" : "registration form",
     "providerId" : "form-flow",
@@ -2401,7 +2434,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "7c108a2a-abbd-462e-a9fc-917f28b67f80",
+    "id" : "948f68c1-015b-4349-a56f-6ee177d558ce",
     "alias" : "reset credentials",
     "description" : "Reset credentials for a user if they forgot their password or something",
     "providerId" : "basic-flow",
@@ -2437,7 +2470,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "b47ae4b9-a177-44ef-b41e-c7e5da6220c7",
+    "id" : "6046d416-4a88-4af6-b440-9fbc87fba478",
     "alias" : "saml ecp",
     "description" : "SAML ECP Profile Authentication Flow",
     "providerId" : "basic-flow",
@@ -2453,13 +2486,13 @@
     } ]
   } ],
   "authenticatorConfig" : [ {
-    "id" : "81c9b7e4-2574-46b1-8a2a-e35edc716c1c",
+    "id" : "3c91aefc-127f-4722-8375-72e8434d6266",
     "alias" : "create unique user config",
     "config" : {
       "require.password.update.after.registration" : "false"
     }
   }, {
-    "id" : "14491568-0d51-4082-9bb2-216d3cb4ab34",
+    "id" : "1041c583-4682-44a8-b61b-9712bd4987c4",
     "alias" : "review profile config",
     "config" : {
       "update.profile.on.first.login" : "missing"
diff --git a/dbrepo-container-service/Dockerfile b/dbrepo-container-service/Dockerfile
index cab97691b1873da1c6b5e1597ada8e3b1c7cfe1e..4ea6ba61c2b1d94c0c65777960fb35be4a12d6c1 100644
--- a/dbrepo-container-service/Dockerfile
+++ b/dbrepo-container-service/Dockerfile
@@ -31,7 +31,7 @@ ENV USER_NETWORK=userdb
 ENV LOG_LEVEL=debug
 ENV DBREPO_CLIENT_SECRET=client-secret
 ENV CLIENT_ID=dbrepo-client
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
 WORKDIR /app
diff --git a/dbrepo-container-service/rest-service/src/main/resources/application-local.yml b/dbrepo-container-service/rest-service/src/main/resources/application-local.yml
index 5ffa215283c5f634120d51fbd8343efedf2df4b9..a512f0b191036f43ee382174de7dbb890a222865 100644
--- a/dbrepo-container-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-container-service/rest-service/src/main/resources/application-local.yml
@@ -41,8 +41,8 @@ fda:
   mount.path: /tmp
   ready.path: ./ready
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
   client_secret: client-secret
   client_id: dbrepo-client
-  gateway.endpoint: http://localhost
\ No newline at end of file
+  gateway.endpoint: https://localhost
\ No newline at end of file
diff --git a/dbrepo-container-service/rest-service/src/main/resources/application.yml b/dbrepo-container-service/rest-service/src/main/resources/application.yml
index d0b2927e65751b5a64329b653979692ed0b9f809..27b861dde15370ee5863a2a106e5abaa8e3a109d 100644
--- a/dbrepo-container-service/rest-service/src/main/resources/application.yml
+++ b/dbrepo-container-service/rest-service/src/main/resources/application.yml
@@ -45,4 +45,4 @@ fda:
     public_key: "${JWT_PUBKEY}"
   client_secret: "${DBREPO_CLIENT_SECRET}"
   client_id: "${CLIENT_ID}"
-  gateway.endpoint: http://gateway-service
\ No newline at end of file
+  gateway.endpoint: https://gateway-service
\ No newline at end of file
diff --git a/dbrepo-database-service/Dockerfile b/dbrepo-database-service/Dockerfile
index a2d4257a25edc04a812290520972f9343f6e60f0..428a19a221e8e7b14b26f04269bab8eb00883bbf 100644
--- a/dbrepo-database-service/Dockerfile
+++ b/dbrepo-database-service/Dockerfile
@@ -33,7 +33,7 @@ ENV GATEWAY_ENDPOINT=http://gateway-service
 ENV LOG_LEVEL=debug
 ENV DBREPO_CLIENT_SECRET=client-secret
 ENV CLIENT_ID=dbrepo-client
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
 WORKDIR /app
diff --git a/dbrepo-database-service/rest-service/src/main/resources/application-local.yml b/dbrepo-database-service/rest-service/src/main/resources/application-local.yml
index 0fdd60eace0b1f9e072433b38e93eb20f459a8c7..b38fbd85e05542cd42ad1d8ea560dd9b7b203cb7 100644
--- a/dbrepo-database-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-database-service/rest-service/src/main/resources/application-local.yml
@@ -42,8 +42,8 @@ fda:
     password: elastic
   ready.path: ./ready
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
   client_secret: client-secret
   client_id: dbrepo-client
-  gateway.endpoint: http://localhost
\ No newline at end of file
+  gateway.endpoint: https://localhost
\ No newline at end of file
diff --git a/dbrepo-gateway-service/Dockerfile b/dbrepo-gateway-service/Dockerfile
index 6086e614d19011a1df5854c3af5881fa7350a237..786eba8df6844511bc525cd3dad12763453dbf7a 100644
--- a/dbrepo-gateway-service/Dockerfile
+++ b/dbrepo-gateway-service/Dockerfile
@@ -2,3 +2,9 @@ FROM nginx:alpine AS runtime
 MAINTAINER Martin Weise <martin.weise@tuwien.ac.at
 
 COPY ./dbrepo.conf /etc/nginx/conf.d/default.conf
+
+COPY ./insecure.crt /insecure.crt
+COPY ./insecure.key /insecure.key
+
+EXPOSE 443
+EXPOSE 80
\ No newline at end of file
diff --git a/dbrepo-gateway-service/dbrepo.conf b/dbrepo-gateway-service/dbrepo.conf
index 08a12c17477ec885bdeec28a42d4c36ed0b33e7f..8bada96c72d9d89d4d8f20dee5866a9b808e6ac6 100644
--- a/dbrepo-gateway-service/dbrepo.conf
+++ b/dbrepo-gateway-service/dbrepo.conf
@@ -3,7 +3,7 @@ client_max_body_size 2G;
 resolver 127.0.0.11 valid=30s; # docker dns
 
 upstream authentication {
-    server authentication-service:8444;
+    server authentication-service:8443;
 }
 
 upstream user {
@@ -35,11 +35,11 @@ upstream table {
 }
 
 upstream database {
-    server database-service:9094;
+    server database-service:9092;
 }
 
 upstream container {
-    server container-service:9092;
+    server container-service:9091;
 }
 
 upstream semantics {
@@ -57,14 +57,23 @@ upstream ui {
 server {
     listen 80 default_server;
     server_name _;
+    return 301 https://$host$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    server_name _;
+
+    ssl_certificate     /insecure.crt;
+    ssl_certificate_key /insecure.key;
 
     location /api/auth {
-        rewrite /api/auth/(.*) /api/$1 break;
+        rewrite /api/auth/(.*) /$1 break;
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header        X-Forwarded-Proto $scheme;
-        proxy_pass              http://authentication;
+        proxy_pass              https://authentication;
         proxy_read_timeout      90;
     }
 
@@ -124,7 +133,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/query {
+    location /api/container/(.*)/database/(.*)/query {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -133,7 +142,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/view {
+    location /api/container/(.*)/database/(.*)/view {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -142,7 +151,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table/[0-9]+/history {
+    location /api/container/(.*)/database/(.*)/table/(.*)/history {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -151,7 +160,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table/[0-9]+/data {
+    location /api/container/(.*)/database/(.*)/table/(.*)/data {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -160,7 +169,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table/[0-9]+/query {
+    location /api/container/(.*)/database/(.*)/table/(.*)/query {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -169,7 +178,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table/[0-9]+/export {
+    location /api/container/(.*)/database/(.*)/table/(.*)/export {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -178,7 +187,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table/[0-9]+/consumer {
+    location /api/container/(.*)/database/(.*)/table/(.*)/consumer {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -187,7 +196,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/version {
+    location /api/container/(.*)/database/(.*)/version {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -196,7 +205,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/table {
+    location /api/container/(.*)/database/(.*)/table {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -205,7 +214,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database {
+    location /api/container/(.*)/database {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -214,7 +223,7 @@ server {
         proxy_read_timeout      90;
     }
 
-    location /api/container/[0-9]+/database/[0-9]+/access {
+    location /api/container/(.*)/database/(.*)/access {
         proxy_set_header        Host $host;
         proxy_set_header        X-Real-IP $remote_addr;
         proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
diff --git a/dbrepo-gateway-service/generate-ssl.sh b/dbrepo-gateway-service/generate-ssl.sh
new file mode 100755
index 0000000000000000000000000000000000000000..80558924fea0cfcb54d7a3f004d048afd50959e8
--- /dev/null
+++ b/dbrepo-gateway-service/generate-ssl.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+openssl req -x509 -sha256 -days 365 -nodes -newkey rsa:2048 -subj "/CN=localhost/C=AT/O=Technische Universität Wien/OU=Research Unit Data Science" \
+  -keyout insecure.key -out insecure.crt
diff --git a/dbrepo-gateway-service/insecure.crt b/dbrepo-gateway-service/insecure.crt
new file mode 100644
index 0000000000000000000000000000000000000000..71dfd7762ae1a941d4c16f64bcbd232b369276bf
--- /dev/null
+++ b/dbrepo-gateway-service/insecure.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDRTCCAi2gAwIBAgIUKMZr1e+8yJTPmL0HkhfSkbaj+R8wDQYJKoZIhvcNAQEL
+BQAwMjESMBAGA1UEAwwJbG9jYWxob3N0MQswCQYDVQQGEwJBVDEPMA0GA1UEBwwG
+Vmllbm5hMB4XDTIzMDUwODEyMzA1NloXDTI0MDQyODEyMzA1NlowMjESMBAGA1UE
+AwwJbG9jYWxob3N0MQswCQYDVQQGEwJBVDEPMA0GA1UEBwwGVmllbm5hMIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAluG4GG0lP0qdHCVuZH2ColrIk6PS
+Tx9JyXjSQvpNnoZKK/x1/MIvVffMKrONkHVmt2+iWLp9mvH7iKVjCKCUo8+ybCV+
+5ej8uqyl93JhYieylk79QwNooebufnMdh29D8avlcM/TXKuTPyOgNkA/68Eh7bZ7
+M6wx8NjKHFgbgfCa1/i6o+Dlzc37LUXHeZk4TggAJ5oEfn2IE1xLdnvUeWUflhTY
+Snw7y8DvJyFnz21LfQCVL9Bux3EMws1c8I+gEjWgfpTnloDfa907B18z1MruUqqS
+CC3P1Io3r7TlyDWYRvyXSGtawMlBFrAz3oVnZCoytoIUmMYmusrVtksJ3QIDAQAB
+o1MwUTAdBgNVHQ4EFgQUexF6h64i6D+RtkS6DJp6wkgfQuIwHwYDVR0jBBgwFoAU
+exF6h64i6D+RtkS6DJp6wkgfQuIwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
+AQsFAAOCAQEAc9eNXiQKnEC/a53a3LedJ9wPgfuQxb9Qr2jQUo/3uQjtsRgafwyA
+r/yLEQwkPFquoqTv7ZOVrP/det84BT4zLC8Ja3yKaP3Iprn+BRwPnUVhgHh9h2l4
+tIeKla6qKa1tzg+AmGSmEfb6dbEO3BYvdbj1Iyhi3Q9sTos20wmd+HXAzs+CAF7Q
+WhDggzJa5jODjv6Wb4gV0UXuKU1LaeQkGlLw48tAMtYWR9vHiR8k/bfcCjhj2GU7
+LRvoNh9pdKyAepA+LxA9UESJLEpKaCy1OyFymQ58JfkGxvEQZqQBeg32XJGHp7I5
+YbOCefirePLIG8P/vmKCuoGG9qaVz/JqNw==
+-----END CERTIFICATE-----
diff --git a/dbrepo-gateway-service/insecure.key b/dbrepo-gateway-service/insecure.key
new file mode 100644
index 0000000000000000000000000000000000000000..d17fb91702e90ccc2759cdc026eb40ca12cc19d8
--- /dev/null
+++ b/dbrepo-gateway-service/insecure.key
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCW4bgYbSU/Sp0c
+JW5kfYKiWsiTo9JPH0nJeNJC+k2ehkor/HX8wi9V98wqs42QdWa3b6JYun2a8fuI
+pWMIoJSjz7JsJX7l6Py6rKX3cmFiJ7KWTv1DA2ih5u5+cx2Hb0Pxq+Vwz9Ncq5M/
+I6A2QD/rwSHttnszrDHw2MocWBuB8JrX+Lqj4OXNzfstRcd5mThOCAAnmgR+fYgT
+XEt2e9R5ZR+WFNhKfDvLwO8nIWfPbUt9AJUv0G7HcQzCzVzwj6ASNaB+lOeWgN9r
+3TsHXzPUyu5SqpIILc/UijevtOXINZhG/JdIa1rAyUEWsDPehWdkKjK2ghSYxia6
+ytW2SwndAgMBAAECggEAW7BbgWyCYA3ln78XcLXc9vCYRzAck7x9yJNFozIcjSMq
+W8SVpr4Sqfll9uUaOBlADGUokSbzQX+fzZBDuHBtI4cJ9DJtBSYqvv4/9Tlq+I0L
+N9BUk660nP6LHAi0fyMcdPZy/bUtynjxiEMMDyvILGo3Rg/ImsQfrS7w03yvaqxv
+bgLMDyL4qRGQJJxlxqWcMqRhPgNTdaBR35a0Ux4fAw2XUFltXzjpiGozWKRZh88G
+vvloV+F1e9C9+/0hp+RHOr0z1l7ZaMoOczXc5ZI40OWqgDzvi0HyL7nbkrGeOMWt
+3b+FM8gIoNgMhMdRlMuvD+LMCNwL+RHIG5MV3HELOQKBgQDFj9vKqR/UAUiWBe8A
+Z9ULjvXOFR9MatMD5BX9WrEA0NfDHLMnKGkQUrOQpvxn07jDMzitRSIxyMghb9M5
+0t2NeYJ4k44JMhPB++z+4IKUY2CVuzd3n6vEU9p76qAl76DhWPASqHHJC3ErI09h
+/eAhwpm1novedm427Zm5QJ1R4wKBgQDDgw5VJ/LwX42Gb8C/Gti2j2xeJxInASRh
+f/5GIE1GZx/guTGS8Xb9v6ieajBGAifBpr23LzrL0N2XW35PqwVsWZmlZQZu20un
+6cJWsKhCFscuu7uPf615zwEkRaiJA1PW5/9padSk8rN4QS7sdnxxR5zHiBcxxNF4
+FBWnkFYBPwKBgQDEA/gPG754ms1qDHkV7e9ziGRaFJr5NwQm2Cb5OQJlzNBGxjL6
+px2XFHcVDplgarDm++s//1fuDUiD5G+u74ji1ayd9cj3VrhDv7FlMVxd3jv2U8q0
+5beHE6uzRxeejCMTcyq/WGGNF80w/9fDYiD/XhUkHiqojtjLpvLe2z08AQKBgGCn
+VpuUn05j/qQ6dRBE5mQCLXGyYQ/1SZYF35+tcmZeruy6wR5Czy+M44BFQM4rXJoo
+o1t/NtLx08pyydP62TiCZynT8sU1FobRUmjm9peNiTS6THQZi5pPUuIqqbHqejUh
+BiyHzD8rWLwXhWoS/VxHKeOejNDm2yNA0p+/BDWjAoGAVtQQ3LA41EY7tfl1p8Jw
+J0XMSqFKHSeldIkL38lZ9LHI2DGkDToKRzgr/zTAlo2E7i4hI+qx5nzdKTYi5jzu
+Sf5nqn15gInGJDCaUOeFIXHEry8tQFLFVpFIXMGLbSyXuOPzGk4eKsHTGPxgAU7C
+v852yVAAajTuqQQ44S2qdZU=
+-----END PRIVATE KEY-----
diff --git a/dbrepo-identifier-service/Dockerfile b/dbrepo-identifier-service/Dockerfile
index a8f39e3d7fd063b67e883e9bd673c23dcefd6897..6a1c97438a24a566df6d979a999629141addfc3a 100644
--- a/dbrepo-identifier-service/Dockerfile
+++ b/dbrepo-identifier-service/Dockerfile
@@ -30,7 +30,7 @@ ENV WEBSITE=http://localhost
 ENV LOG_LEVEL=debug
 ENV DBREPO_CLIENT_SECRET=client-secret
 ENV CLIENT_ID=dbrepo-client
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
 WORKDIR /app
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
index 20b898bb03590e5bb0840effd8e6db995f8f92bd..924bb5c79c089a57aa50411a0351e281b0a71b18 100644
--- a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
@@ -39,12 +39,12 @@ logging:
 fda:
   ready.path: ./ready
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
   client_secret: client-secret
   client_id: dbrepo-client
-  gateway.endpoint: http://localhost
-  website: http://localhost:3000
+  gateway.endpoint: https://localhost
+  website: https://localhost
   elastic:
     endpoint: localhost:9200
     username: elastic
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
index 1d642305dd1d129877f67542091af5122e757514..a2ea25e54284cb6df30fa4558a3724832bf7fc9e 100644
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
+++ b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
@@ -162,7 +162,7 @@ public class IdentifierEndpointIntegrationTest extends BaseUnitTest {
         identifierRepository.save(IDENTIFIER_1);
 
         /* test */
-        final List<IdentifierDto> response = this.generic_list(DATABASE_1_ID, QUERY_1_ID, IdentifierTypeDto.SUBSET);
+        final List<IdentifierDto> response = this.generic_list(DATABASE_1_ID, QUERY_1_ID, IdentifierTypeDto.DATABASE);
         assertEquals(1, response.size());
         final IdentifierDto identifier = response.get(0);
         assertEquals(IDENTIFIER_1_ID, identifier.getId());
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
index 8f8955b0c5c4b004a544da6dffcbedef45800674..1be9690cb0e989e974a8f81494a98ccd68acf202 100644
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
+++ b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
@@ -150,7 +150,7 @@ public class IdentifierEndpointUnitTest extends BaseUnitTest {
         assertEquals(HttpStatus.MOVED_PERMANENTLY, response.getStatusCode());
         assertNotNull(response.getHeaders().get("Location"));
         assertEquals(endpointConfig.getWebsiteUrl() + "/container/" + IDENTIFIER_1_CONTAINER_ID + "/database/"
-                + IDENTIFIER_1_DATABASE_ID + "/query/" + IDENTIFIER_1_QUERY_ID, response.getHeaders().getFirst("Location"));
+                + IDENTIFIER_1_DATABASE_ID, response.getHeaders().getFirst("Location"));
     }
 
     @Test
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
index c38f19bb746c3d5fcf994a6af346fa7550a9b03a..fbd3a6ff9b9d99f5510ca37c54aa42a9d3ecf1bb 100644
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
+++ b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
@@ -11,10 +11,7 @@ import at.tuwien.config.EndpointConfig;
 import at.tuwien.config.IndexInitializer;
 import at.tuwien.entities.identifier.Identifier;
 import at.tuwien.exception.*;
-import at.tuwien.repository.jpa.ContainerRepository;
-import at.tuwien.repository.jpa.DatabaseRepository;
-import at.tuwien.repository.jpa.IdentifierRepository;
-import at.tuwien.repository.jpa.ImageRepository;
+import at.tuwien.repository.jpa.*;
 import at.tuwien.service.impl.IdentifierServiceImpl;
 import org.apache.http.auth.BasicUserPrincipal;
 import org.junit.jupiter.api.BeforeEach;
@@ -71,6 +68,12 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
     @Autowired
     private IdentifierRepository identifierRepository;
 
+    @Autowired
+    private RealmRepository realmRepository;
+
+    @Autowired
+    private UserRepository userRepository;
+
     @MockBean
     @Qualifier("restTemplate")
     private RestTemplate restTemplate;
@@ -86,8 +89,10 @@ public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
 
     @BeforeEach
     public void beforeEach() {
+        realmRepository.save(REALM_DBREPO);
+        userRepository.save(USER_1);
         imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1);
+        containerRepository.save(CONTAINER_1_SIMPLE);
         databaseRepository.save(DATABASE_1);
     }
 
diff --git a/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml b/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
index eef6f76815fba864d5b66e9527425d0fc7bda3a6..aed14c2d7d870c7b8ef2cf608df1b90e1a9b31fb 100644
--- a/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
@@ -37,11 +37,11 @@ logging:
     org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
 fda:
   ready.path: ./ready
-  pid.base: http://example.com/pid/
-  gateway.endpoint: http://localhost
+  pid.base: https://example.com/pid/
+  gateway.endpoint: https://localhost
 dbrepo:
   repository-name: TU Wien Database Repository
-  base-url: http://dbrepo.ossdip.at/api/oai
+  base-url: https://dbrepo1.ec.tuwien.at/api/oai
   admin-email: noreply@example.com
   earliest-datestamp: 2022-09-17T16:09:00Z
   deleted-record: persistent
diff --git a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml
index 74ee7061931c59b69a9d5329e9e103ad119ff39b..9dc26e2876dff6f825c3ea27dd18bdab085119e1 100644
--- a/dbrepo-metadata-service/rest-service/src/main/resources/application.yml
+++ b/dbrepo-metadata-service/rest-service/src/main/resources/application.yml
@@ -36,7 +36,7 @@ logging:
     at.tuwien.: "${LOG_LEVEL}"
     org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
 fda:
-  ready.path: ./ready
+  ready.path: /ready
   pid.base: "${PID_BASE}"
   gateway.endpoint: "${GATEWAY_ENDPOINT}"
 dbrepo:
diff --git a/dbrepo-query-service/Dockerfile b/dbrepo-query-service/Dockerfile
index 7b32d8c70bdd561512a907839c6813b8b396760e..6c20dd48dfe27ec2c656ce20c436d2875bab0636 100644
--- a/dbrepo-query-service/Dockerfile
+++ b/dbrepo-query-service/Dockerfile
@@ -33,7 +33,7 @@ ENV BROKER_CONSUMERS=2
 ENV LOG_LEVEL=debug
 ENV DBREPO_CLIENT_SECRET=client-secret
 ENV CLIENT_ID=dbrepo-client
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 ENV NOT_SUPPORTED_KEYWORDS=\\*,AVG,BIT_AND,BIT_OR,BIT_XOR,COUNT,COUNTDISTINCT,GROUP_CONCAT,JSON_ARRAYAGG,JSON_OBJECTAGG,MAX,MIN,STD,STDDEV,STDDEV_POP,STDDEV_SAMP,SUM,VARIANCE,VAR_POP,VAR_SAMP,--
 
diff --git a/dbrepo-query-service/rest-service/src/main/resources/application-local.yml b/dbrepo-query-service/rest-service/src/main/resources/application-local.yml
index 59ec68cf1aa181044a0b615edf2666fcf025af06..bb1bf4a0f8bcce0ef403a4ce86d8cf45d3c4561c 100644
--- a/dbrepo-query-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-query-service/rest-service/src/main/resources/application-local.yml
@@ -40,10 +40,10 @@ logging:
     at.tuwien.: trace
     org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
 fda:
-  gateway.endpoint: http://localhost
+  gateway.endpoint: https://localhost
   ready.path: ./ready
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
   client_secret: client-secret
   client_id: dbrepo-client
diff --git a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
index ee513b6340e03404d64e799f1520fbaf2a4f389b..f009f87f64efa1a6ded33455300ab1c135303314 100644
--- a/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
+++ b/dbrepo-query-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
@@ -51,6 +51,12 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
     @Autowired
     private ImageRepository imageRepository;
 
+    @Autowired
+    private RealmRepository realmRepository;
+
+    @Autowired
+    private UserRepository userRepository;
+
     @Autowired
     private ContainerRepository containerRepository;
 
@@ -59,6 +65,8 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
 
     @BeforeEach
     public void beforeEach() {
+        realmRepository.save(REALM_DBREPO);
+        userRepository.save(USER_1);
         imageRepository.save(IMAGE_1);
         containerRepository.save(CONTAINER_1);
     }
diff --git a/dbrepo-semantics-service/Dockerfile b/dbrepo-semantics-service/Dockerfile
index d676ca3f38d2e9dd55da8b2ae2af33dee7cd5afa..601e0d71a4429f52945552ddaf41d18a21589fbc 100644
--- a/dbrepo-semantics-service/Dockerfile
+++ b/dbrepo-semantics-service/Dockerfile
@@ -18,7 +18,7 @@ ENV LOG_LEVEL=debug
 ENV METADATA_DB=fda
 ENV METADATA_USERNAME=root
 ENV METADATA_PASSWORD=dbrepo
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
 COPY ./requirements.txt ./requirements.txt
diff --git a/dbrepo-table-service/Dockerfile b/dbrepo-table-service/Dockerfile
index f4741fc864e57308be33fd48fbdedce6af48f8f7..2615670a222096fe494d370b27af5cd016ded019 100644
--- a/dbrepo-table-service/Dockerfile
+++ b/dbrepo-table-service/Dockerfile
@@ -31,7 +31,7 @@ ENV USER_NETWORK=userdb
 ENV LOG_LEVEL=debug
 ENV DBREPO_CLIENT_SECRET=client-secret
 ENV CLIENT_ID=dbrepo-client
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 
 WORKDIR /app
diff --git a/dbrepo-table-service/rest-service/src/main/resources/application-local.yml b/dbrepo-table-service/rest-service/src/main/resources/application-local.yml
index 325e6444db47bc38804d8004a9b0b8d0d96ae573..d46fd8e969afde0570379ce9242d2c945546ad64 100644
--- a/dbrepo-table-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-table-service/rest-service/src/main/resources/application-local.yml
@@ -38,11 +38,11 @@ logging:
 fda:
   ready.path: ./ready
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
   client_secret: client-secret
   client_id: dbrepo-client
-  gateway.endpoint: http://localhost
+  gateway.endpoint: https://localhost
   elastic:
     endpoint: localhost:9200
     username: elastic
diff --git a/dbrepo-table-service/rest-service/src/main/resources/application.yml b/dbrepo-table-service/rest-service/src/main/resources/application.yml
index fbe68f32422001cfdbc47cc7cfc3526ad59e03be..e446103449b5c1928309b0abc68f512d642ae00e 100644
--- a/dbrepo-table-service/rest-service/src/main/resources/application.yml
+++ b/dbrepo-table-service/rest-service/src/main/resources/application.yml
@@ -42,7 +42,7 @@ fda:
     public_key: "${JWT_PUBKEY}"
   client_secret: "${DBREPO_CLIENT_SECRET}"
   client_id: "${CLIENT_ID}"
-  gateway.endpoint: http://gateway-service
+  gateway.endpoint: https://gateway-service
   elastic:
     endpoint: search-service:9200
     username: elastic
diff --git a/dbrepo-ui/.prod/default.conf b/dbrepo-ui/.prod/default.conf
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/dbrepo-ui/root.crt b/dbrepo-ui/root.crt
deleted file mode 100644
index 798a1f673479c075782eeed6458beb2d7d693e07..0000000000000000000000000000000000000000
--- a/dbrepo-ui/root.crt
+++ /dev/null
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIEHaMDRDANBgkqhkiG9w0BAQsFADBBMQswCQYDVQQGEwJB
-VDEQMA4GA1UEChMHVFUgV2llbjEPMA0GA1UECxMGRFMtSUZTMQ8wDQYDVQQDEwZS
-b290Q0EwHhcNMjMwNDAzMTczOTU5WhcNMzMwMjA5MTczOTU5WjBBMQswCQYDVQQG
-EwJBVDEQMA4GA1UEChMHVFUgV2llbjEPMA0GA1UECxMGRFMtSUZTMQ8wDQYDVQQD
-EwZSb290Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCK8FuP0bGt
-QAvhZEjRWTQuCdE6vXpDWjvSoevZaSclgJ9SncDHtRzkH0x0ArVfIRZFtjSUEcHb
-2r8mnOvqQ+9vs2azjTlacdPvezbhfgFFGIdrnHSm3RTB7smeOFceFkIvwiXT49+y
-ZGkB/p0QCDoVYhgRxFNtZKBTYa0uJLQ7cM8LK2g66/yugJsB4zOlre1zPiWGY/5k
-sWu780XVKpl9j6CR/xp3012bKlT/t7j7fKRamJYVYtW2guRQnl5J5AKRzlRGh84G
-onNI5qiwS0gAZUajpL00lb2XxSkv11DY0743EOSsqOvUDr+5h4v7pXEt+O5aFvFN
-ewRTHON1624fAgMBAAGjPzA9MB0GA1UdDgQWBBSdLp+I30uB4jAMP1PnZLolxbF/
-AzALBgNVHQ8EBAMCAgQwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
-AQEAIqrbs8mXC07a8VURnu3EFxO3dliDgxY1yQfB0VqMFL1yxGKXrVAJFLP/1MVr
-HVx53vZd/KBNGUjhLfnj3vF+TpqnOoJ/QEDSJPuEnpfFPtx0tE3e3lQQlebIA8aM
-m1iP2SJuKAYQUYOg1N9XXa+UPs9tWWrllY5dcYdHOK168eUwo1h6v0OOnaP7RvSn
-457jewK6fJ3tUhox2Hu1JEowupYE5QhMiLwG30MGkf2pWkTNfz005LTzmgvfMSz7
-k1rfO9oKdVbxNYxZPdzKZRsnCfOka/MmYcXstjp5KKXLo4Z3LLs8N0GDWlKRvX9p
-z2CJQ6CG+Aws4+J3mFOm2G9rIw==
------END CERTIFICATE-----
diff --git a/dbrepo-user-service/Dockerfile b/dbrepo-user-service/Dockerfile
index 8473a7fc59f5e63302554b16d9ab9e0d22b47d24..c179ac046155a98fb22634e42eccd7b85801469b 100644
--- a/dbrepo-user-service/Dockerfile
+++ b/dbrepo-user-service/Dockerfile
@@ -25,7 +25,7 @@ ENV METADATA_DB=fda
 ENV METADATA_USERNAME=root
 ENV METADATA_PASSWORD=dbrepo
 ENV GATEWAY_ENDPOINT=http://gateway-service
-ENV JWT_ISSUER=http://localhost:8080/realms/dbrepo
+ENV JWT_ISSUER=https://localhost/realms/dbrepo
 ENV JWT_PUBKEY=public-key
 ENV LOG_LEVEL=debug
 ENV DEFAULT_ROLE=default-researcher-roles
diff --git a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml b/dbrepo-user-service/rest-service/src/main/resources/application-local.yml
index c93c21664f50d1f9ceaebc8bf33f0ae26d29e89d..8e9ee40175be91cc479ae3740036aa653b3ba783 100644
--- a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-user-service/rest-service/src/main/resources/application-local.yml
@@ -41,8 +41,8 @@ fda:
     username: elastic
     password: elastic
   ready.path: ./ready
-  gateway.endpoint: http://localhost
+  gateway.endpoint: https://localhost
   default_role: default-researcher-roles
   jwt:
-    issuer: https://localhost:8443/realms/dbrepo
+    issuer: https://localhost/realms/dbrepo
     public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 00b55f085c52d77ccf150ae09da0e40d391eda67..17033b3de6309868605dde38b3854fbed683f0f5 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -104,7 +104,7 @@ services:
       core:
     ports:
       - "8443:8443"
-      - "8081:8080"
+      - "8080:8080"
     env_file:
       - .env
     volumes:
@@ -341,8 +341,6 @@ services:
       public:
     ports:
       - "80:80"
-      - "8080:8080"
-      - "3000:3000"
       - "443:443"
     env_file:
       - .env