Update startos/interfaces.ts

Use standard HTTP Web UI interface
This commit is contained in:
2026-08-28 18:11:18 +00:00
parent 2bf919357e
commit 6648bf0662
+6 -30
View File
@@ -1,40 +1,18 @@
import { i18n } from './i18n' import { i18n } from './i18n'
import { sdk } from './sdk' import { sdk } from './sdk'
import { uiPort } from './utils'
import { store } from './file-models/store.json'
export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => { export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
const uiMulti = sdk.MultiHost.of(effects, 'ui') const multi = sdk.MultiHost.of(effects, 'ui')
const storeData = await store.read().const(effects) const origin = await multi.bindPort(80, {
const adminPassword = storeData?.adminPassword
const uiMultiOrigin = await uiMulti.bindPort(uiPort, {
protocol: 'http', protocol: 'http',
addSsl: { preferredExternalPort: 80,
preferredExternalPort: 443,
addXForwardedHeaders: true,
alpn: null,
auth: adminPassword
? {
type: 'basic',
credentials: [
{
username: 'admin',
password: adminPassword,
},
],
realm: 'Munin Bitcoin',
}
: null,
},
preferredExternalPort: uiPort,
}) })
const ui = sdk.createInterface(effects, { const ui = sdk.createInterface(effects, {
name: i18n('Web UI'), name: i18n('Web Interface'),
id: 'ui', id: 'ui',
description: i18n('The web interface of Munin Bitcoin'), description: i18n('The main web interface'),
type: 'ui', type: 'ui',
masked: false, masked: false,
schemeOverride: null, schemeOverride: null,
@@ -43,7 +21,5 @@ export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
query: {}, query: {},
}) })
const uiReceipt = await uiMultiOrigin.export([ui]) return [await origin.export([ui])]
return [uiReceipt]
}) })