BetterFrame/sec-config.yaml

100 lines
2.9 KiB
YAML
Raw Normal View History

2026-05-09 23:09:13 +00:00
# BSB runtime configuration for BetterFrame server.
#
# This file is bind-mounted into the container at /home/bsb/sec-config.yaml.
# All server config lives here — no env vars in the application code.
2026-05-09 23:09:13 +00:00
#
# For native (non-Docker) installs, adjust hostnames to 127.0.0.1 and
# set driver: sqlite if not using PostgreSQL.
2026-05-09 23:09:13 +00:00
default:
observable:
observable-default:
plugin: observable-default
enabled: true
config: {}
events:
events-default:
plugin: events-default
enabled: true
services:
# ----- Data layer -----
2026-05-09 23:09:13 +00:00
service-store:
plugin: service-store
enabled: true
config:
driver: postgres
# SQLite (native installs)
2026-05-09 23:09:13 +00:00
sqlitePath: /var/lib/betterframe/betterframe.db
# PostgreSQL (Docker / production)
pgHost: postgres
pgPort: 5432
pgDatabase: betterframe
pgUser: betterframe
pgPassword: betterframe
pgPoolMax: 10
2026-05-09 23:09:13 +00:00
# ----- Admin UI + API -----
service-admin-http:
plugin: service-admin-http
2026-05-09 23:09:13 +00:00
enabled: true
config:
host: 0.0.0.0
port: 18080
2026-05-09 23:09:13 +00:00
dataDir: /var/lib/betterframe
# Auth
sessionIdleSeconds: 43200
sessionMaxSeconds: 2592000
2026-05-09 23:09:13 +00:00
loginLockoutThreshold: 8
loginLockoutSeconds: 900
argon2Memory: 65536
2026-05-09 23:09:13 +00:00
argon2TimeCost: 3
argon2Parallelism: 2
cookieName: betterframe_session
totpIssuer: BetterFrame
# Inter-service URLs (Docker container names)
noderedUrl: http://nodered:1880
selfUrl: http://server:18080
# Systemd credentials directory (native installs only)
systemdCredsDir: ""
# Firmware signing key (PEM). Leave empty to auto-generate on disk.
firmwareSigningKey: ""
# Bearer tokens for CI import endpoints. Generate with: openssl rand -base64 32
firmwareImportApiKey: ""
otaImportApiKey: ""
2026-05-09 23:09:13 +00:00
# ----- Kiosk-facing REST API -----
2026-05-09 23:09:13 +00:00
service-api-http:
plugin: service-api-http
enabled: true
config:
host: 0.0.0.0
2026-05-09 23:09:13 +00:00
port: 18081
codeTtlSeconds: 600
dataDir: /var/lib/betterframe
argon2Memory: 65536
argon2TimeCost: 3
argon2Parallelism: 2
cookieName: betterframe_session
totpIssuer: BetterFrame
noderedUrl: http://nodered:1880
# MQTT telemetry bridge (optional)
mqttUrl: ""
mqttUsername: ""
mqttPassword: ""
mqttTopicPrefix: betterframe
2026-05-09 23:09:13 +00:00
# ----- Live kiosk WebSocket channel -----
2026-05-09 23:09:13 +00:00
service-coordinator-ws:
plugin: service-coordinator-ws
enabled: true
config:
host: 0.0.0.0
2026-05-09 23:09:13 +00:00
port: 18082
dataDir: /var/lib/betterframe
argon2Memory: 65536
argon2TimeCost: 3
argon2Parallelism: 2
cookieName: betterframe_session
totpIssuer: BetterFrame
noderedUrl: http://nodered:1880