BetterFrame/deploy/docker/sec-config.yaml
Mitchell R 122509de0d feat(nodered): auto-provision bf-server-config on boot
Server mints a dedicated admin API key on first boot (persisted plaintext
encrypted in setup_state.extras) and POSTs a bf-server-config node into
Node-RED's flow graph via /nrdp/flows. Idempotent — skips if any
bf-server-config already exists, so user-owned configs win.

New admin-http config 'selfUrl' (defaults to http://127.0.0.1:18080)
tells Node-RED how to reach the BF server. Docker compose sets it to
http://server:18080 so requests stay inside the compose network.
2026-05-13 03:09:25 +02:00

64 lines
1.6 KiB
YAML

# BSB runtime configuration for the Docker compose stack.
# Backend services bind all interfaces inside the private compose network;
# Angie/nginx is the only published host port.
default:
observable:
observable-default:
plugin: observable-default
enabled: true
config: {}
events:
events-default:
plugin: events-default
enabled: true
services:
service-store:
plugin: service-store
enabled: true
config:
sqlitePath: /var/lib/betterframe/betterframe.db
service-admin-http:
plugin: service-admin-http
enabled: true
config:
host: 0.0.0.0
port: 18080
dataDir: /var/lib/betterframe
sessionIdleSeconds: 43200
sessionMaxSeconds: 2592000
loginLockoutThreshold: 8
loginLockoutSeconds: 900
argon2Memory: 65536
argon2TimeCost: 3
argon2Parallelism: 2
cookieName: betterframe_session
totpIssuer: BetterFrame
noderedUrl: http://nodered:1880
selfUrl: http://server:18080
service-api-http:
plugin: service-api-http
enabled: true
config:
host: 0.0.0.0
port: 18081
codeTtlSeconds: 600
dataDir: /var/lib/betterframe
argon2Memory: 65536
argon2TimeCost: 3
argon2Parallelism: 2
noderedUrl: http://nodered:1880
service-coordinator-ws:
plugin: service-coordinator-ws
enabled: true
config:
host: 0.0.0.0
port: 18082
noderedUrl: http://nodered:1880
dataDir: /var/lib/betterframe
argon2Memory: 65536
argon2TimeCost: 3
argon2Parallelism: 2