Files
munin-bitcoin/startos/interfaces.ts
T
Unheard0840 7a3740de1a Update startos/interfaces.ts
Fix web interface bind options
2026-08-28 17:06:39 +00:00

49 lines
1.2 KiB
TypeScript

import { i18n } from './i18n'
import { sdk } from './sdk'
import { uiPort } from './utils'
import { store } from './file-models/store.json'
export const setInterfaces = sdk.setupInterfaces(async ({ effects }) => {
const uiMulti = sdk.MultiHost.of(effects, 'ui-multi')
const storeData = await store.read().const(effects)
const adminPassword = storeData?.adminPassword
const uiMultiOrigin = await uiMulti.bindPort(uiPort, {
protocol: 'http',
addSsl: {
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, {
name: i18n('Web UI'),
id: 'ui',
description: i18n('The web interface of Munin Bitcoin'),
type: 'ui',
masked: false,
schemeOverride: null,
username: null,
path: '',
query: {},
})
const uiReceipt = await uiMultiOrigin.export([ui])
return [uiReceipt]
})