diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java
index f3cf82d4997a7b67de2b0ee834615fd56a379cb4..b268e3f5a05ae8f547cd7dc22418b3a3b2bec030 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java
@@ -34,6 +34,12 @@ public class BannerMessage {
     @Column(nullable = false)
     private String message;
 
+    @Column
+    private String link;
+
+    @Column
+    private String linkText;
+
     @Column(columnDefinition = "TIMESTAMP")
     private Instant displayStart;
 
diff --git a/dbrepo-ui/layouts/default.vue b/dbrepo-ui/layouts/default.vue
index f8c56d4a3d134d3593ff9b6c93ca87e30a122a32..e7186187214423feec109201275b229a95736a05 100644
--- a/dbrepo-ui/layouts/default.vue
+++ b/dbrepo-ui/layouts/default.vue
@@ -53,8 +53,9 @@
           class="banner"
           border="left"
           tile
-          :type="message.type"
-          v-text="message.message" />
+          :type="message.type">
+          {{ message.message }}<span v-if="message.link">&nbsp;&mdash;&nbsp;<a :href="message.link" v-text="message.link_text ? message.link_text : message.link" /></span>
+        </v-alert>
       </div>
     </v-navigation-drawer>
     <v-form ref="form" @submit.prevent="submit">
diff --git a/dbrepo-ui/nuxt.config.js b/dbrepo-ui/nuxt.config.js
index 16fe0e4cc2da1efbd991df6718403674e9f5de12..77b99c27885a48b161b433b11daa9be36dd5a97a 100644
--- a/dbrepo-ui/nuxt.config.js
+++ b/dbrepo-ui/nuxt.config.js
@@ -140,13 +140,14 @@ export default {
     }
   },
 
+  // https://github.com/nuxt/nuxt/issues/7722
   build: {
     babel: {
       presets (env, [preset, options]) {
         return [
           ['@babel/preset-env', {
             targets: {
-              node: 'current'
+              node: '14'
             }
           }]
         ]
diff --git a/dbrepo-ui/package.json b/dbrepo-ui/package.json
index 8f385686b124863127992c07dff8018f7f3bfed0..61548c8c365411c283009ea84c387b58ec219161 100644
--- a/dbrepo-ui/package.json
+++ b/dbrepo-ui/package.json
@@ -20,6 +20,7 @@
     "test": "yarn clean && yarn test:unit && yarn test:e2e:docker && yarn coverage"
   },
   "dependencies": {
+    "@babel/plugin-proposal-optional-chaining": "^7.21.0",
     "@babel/plugin-transform-runtime": "^7.13.9",
     "@mdi/js": "^5.8.55",
     "@nuxtjs/axios": "^5.13.6",
diff --git a/dbrepo-ui/yarn.lock b/dbrepo-ui/yarn.lock
index 4c129e8282173b1cf7372ef2c2cb750ca6fa1d2b..b554015a3f6b628d33b42a02e54e6d313a0569e3 100644
--- a/dbrepo-ui/yarn.lock
+++ b/dbrepo-ui/yarn.lock
@@ -9632,18 +9632,6 @@ pkg-up@^3.1.0:
   dependencies:
     find-up "^3.0.0"
 
-playwright-core@1.37.1:
-  version "1.37.1"
-  resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.37.1.tgz#cb517d52e2e8cb4fa71957639f1cd105d1683126"
-  integrity sha512-17EuQxlSIYCmEMwzMqusJ2ztDgJePjrbttaefgdsiqeLWidjYz9BxXaTaZWxH1J95SHGk6tjE+dwgWILJoUZfA==
-
-playwright@^1.14.0:
-  version "1.37.1"
-  resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.37.1.tgz#6e488d82d7d98b9127c5db9c701f9c956ab47e76"
-  integrity sha512-bgUXRrQKhT48zHdxDYQTpf//0xDfDd5hLeEhjuSw8rXEGoT9YeElpfvs/izonTNY21IQZ7d3s22jLxYaAnubbQ==
-  dependencies:
-    playwright-core "1.37.1"
-
 plur@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/plur/-/plur-4.0.0.tgz#729aedb08f452645fe8c58ef115bf16b0a73ef84"