18 lines
968 B
JavaScript
18 lines
968 B
JavaScript
import { readFile } from 'node:fs/promises'
|
|
import { createApp } from './app.mjs'
|
|
const secret = async name => process.env[name] ? (await readFile(process.env[name], 'utf8')).trim() : ''
|
|
const input = process.env.LOCAL_INPUT_DIR || '/data/inputs'
|
|
const config = {
|
|
password: await secret('WEB_PASSWORD_FILE'),
|
|
backendToken: await secret('LTX_TOKEN_FILE'),
|
|
backendUrl: process.env.LTX_BACKEND_URL || 'http://host.docker.internal:8120',
|
|
publicOrigin: process.env.PUBLIC_ORIGIN,
|
|
dist: new URL('../dist', import.meta.url).pathname,
|
|
roots: [
|
|
{ local:input, backend:process.env.BACKEND_INPUT_DIR || '/data/LTXDesktop/remote-inputs', writable:true },
|
|
{ local:process.env.LOCAL_OUTPUT_DIR || '/data/outputs', backend:process.env.BACKEND_OUTPUT_DIR || '/data/LTXDesktop/outputs', writable:false },
|
|
],
|
|
}
|
|
const server=await createApp(config)
|
|
server.listen(Number(process.env.PORT||8118),process.env.HOST||'127.0.0.1',()=>console.log('LTX DeskWEB is ready'))
|