diff --git a/dashboard/src/components/AppInstallDialog.vue b/dashboard/src/components/AppInstallDialog.vue
index cf062bc64..194df7c06 100644
--- a/dashboard/src/components/AppInstallDialog.vue
+++ b/dashboard/src/components/AppInstallDialog.vue
@@ -31,7 +31,17 @@
-
+
+
+
+
+ {{ port.description }}
+
+
+
+
+
+
@@ -86,6 +96,7 @@ const accessRestriction = ref(null);
const domain = ref('');
const tcpPorts = ref({});
const udpPorts = ref({});
+const secondaryDomains = ref({});
async function submit() {
const config = {
@@ -107,6 +118,15 @@ async function submit() {
}
config.ports = finalPorts;
+ const finalSecondaryDomains = {};
+ for (var p in secondaryDomains.value) {
+ finalSecondaryDomains[p] = {
+ subdomain: secondaryDomains.value[p].value,
+ domain: secondaryDomains.value[p].domain
+ };
+ }
+ config.secondaryDomains = finalSecondaryDomains;
+
busy.value = true;
const error = await appsModel.install(manifest.value, config);
busy.value = false;
@@ -135,6 +155,13 @@ defineExpose({
tcpPorts.value = a.manifest.tcpPorts;
udpPorts.value = a.manifest.udpPorts;
+ secondaryDomains.value = a.manifest.httpPorts;
+ for (const p in secondaryDomains.value) {
+ const port = secondaryDomains.value[p];
+ port.value = port.defaultValue;
+ port.domain = domains.value[0].domain;
+ }
+
dialog.value.open();
}
});