Configuration
libreStage wird über zwei Konfigurationsdateien gesteuert: die .env-Datei für
serverseitige Einstellungen und appConfig.json für anwendungsspezifische Anpassungen.
Environment variables (.env)
First copy the template:
cp .env.example .env
Then fill in all relevant values:
Variable |
Default |
Beschreibung |
|---|---|---|
|
– |
Pflichtfeld. Langer, zufälliger String zum Signieren von JWTs. Niemals öffentlich! |
|
|
|
|
|
Allowed frontend origins (comma-separated) |
|
|
Base URL of the frontend (used in emails) |
|
|
SQLAlchemy database URL (SQLite or PostgreSQL) |
|
|
Application timezone (IANA format) |
|
– |
SMTP server for email sending (optional) |
|
|
SMTP port |
|
– |
SMTP username |
|
– |
SMTP password |
|
– |
Webhook-URL für Mattermost-Benachrichtigungen (optional) |
Application configuration (appConfig.json)
Die Datei appConfig.json im Projekt-Root enthält alle band-spezifischen Einstellungen,
die ohne erneutes Bauen des Frontends geändert werden können.
Ab v0.4.0 koennen Admins die weichen Parameter auch direkt in der
Weboberflaeche unter Admin-Konfiguration pflegen.
{
"app_name": "libreStage",
"app_name_short": "LS",
"timezone": "Europe/Berlin",
"default_break_seconds": 30
}
Field |
Beschreibung |
|---|---|
|
Full application name (appears in the header) |
|
Kurzname / Kürzel der Band |
|
Application subtitle |
|
Zeitzone (IANA-Format, muss mit |
|
Standard-Pausenlänge zwischen Sets in Sekunden (Standard: 30) |
|
Liste verfügbarer Genres für Songs |
|
Auswahlliste für den Veranstaltungstyp |
|
Verfügbare Tonarten |
|
Song-Statuswerte für Proben-Ansichten |
Song status
Status |
Meaning |
|---|---|
|
Song has been proposed but not yet reviewed |
|
Song ist grundsätzlich akzeptiert |
|
Song is actively being rehearsed |
|
Song ist bühnenreif und kann in Setlists eingesetzt werden |
|
Song ist spielbar, wird aber bei Bedarf nochmals geprobt |
Gig status
Status |
Meaning |
|---|---|
|
Gig request received, no confirmation yet |
|
Performance has been confirmed |
|
Gig request was declined |
Frontend configuration
Das Frontend lädt die Konfiguration zur Laufzeit vom Backend-Endpoint /public/app_config.
Für den Entwicklungsmodus wird die API-URL über VITE_API_URL gesteuert:
# frontend/.env (für lokale Entwicklung)
VITE_API_URL=http://localhost:8000
Selbstheilung bei fehlenden Keys
Ab v0.5.22 prüft das Backend beim Start automatisch, ob alle Pflicht-Keys in
appConfig.json vorhanden sind. Fehlt ein Key, wird er sofort mit einem
leeren Standardwert befüllt und die Datei atomar zurückgeschrieben – die
Anwendung startet damit fehlerfrei weiter.
Key |
Standardwert bei fehlendem Eintrag |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Standard-Timings: Song 240 s, Pause zwischen Songs 30 s, Set-Pause 600 s |
Note
Alle automatisch ergänzten Keys werden im Server-Log mit WARNING-Level
gemeldet. Die ergänzte appConfig.json sollte anschliessend über die
Admin-Oberfläche (Admin-Konfiguration) mit den gewünschten Werten
befüllt werden.