Konfiguration¶
Jede Einstellung ist eine Umgebungsvariable mit dem Präfix BLUNDERBASE_. Setz sie im
environment:-Block der Compose-Datei, in der Shell, die den Prozess startet, oder so, wie
deine Prozessverwaltung das macht.
Eine Variable, die zwar da, aber leer ist, gilt als nicht gesetzt: eine auskommentierte Zeile, die jemand einkommentiert und leer gelassen hat, fällt auf den Standardwert zurück, statt den Start zu verweigern.
Nicht alles ist eine Variable. Die Engine-Budgets, die Schwellen für die Zugbewertung, die Maia-Wertung, das Intervall der automatischen Synchronisierung und das Token für den Lichess-Explorer stehen in der Datenbank und werden in der App bearbeitet, denn das sind die Werte, die du änderst, wenn sich dein Spiel ändert. Sie gelten ab dem nächsten Klick, nicht ab dem nächsten Neustart. Siehe Analyse und Einstellungen.
Pfade¶
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_ROOT |
Das Installationsverzeichnis | Wogegen jeder relative Pfad hier unten aufgelöst wird |
BLUNDERBASE_DATA_DIR |
<root>/data |
Alles Geschriebene außer der Datenbank: hochgeladene PGN-Dateien, heruntergeladene Engines und Gewichte. Im Docker-Image /data |
BLUNDERBASE_DB_PATH |
<data dir>/blunderbase.db |
Die SQLite-Datei. Im Docker-Image /data/blunderbase.db |
BLUNDERBASE_WEB_DIST |
<root>/web/dist |
Die gebaute Web-App, ausgeliefert von demselben Prozess. Ein Verzeichnis, das nicht da ist, wird einfach nicht ausgeliefert |
BLUNDERBASE_MANUAL_DIR |
<root>/manual-site |
Dieses Handbuch, unter /manual ohne Anmeldung ausgeliefert, damit es zur laufenden Version passt und ohne Weg ins Internet funktioniert. Ein Verzeichnis, das nicht da ist, wird einfach nicht ausgeliefert |
Laufzeit und Zugang¶
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_RUNTIME_MODE |
server |
server, desktop oder demo. desktop ist der Modus der Desktop-Anwendung und braucht BLUNDERBASE_DESKTOP_TOKEN. demo ist der öffentliche, schreibgeschützte Modus: kein Passwort, kein /mcp, jeder Schreibzugriff antwortet 403 read_only, und Runner nur mit Token, die die Quellbibliothek schon hatte. Immer nur für eine Datenbank, die blunderbase demo create gebaut hat |
BLUNDERBASE_DESKTOP_TOKEN |
leer | Das Geheimnis, mit dem die Desktop-Anwendung ihr eigenes Fenster anmeldet, bei jedem Start ein neues. 64 hexadezimale Kleinbuchstaben, im Modus desktop Pflicht. Die native Anwendung setzt es, du nicht |
BLUNDERBASE_MCP_BEARER_KEY |
leer | Ein weiteres Token, das /mcp akzeptiert, neben den unter Assistent erzeugten Schlüsseln. Für Compose-Dateien und Automatisierung |
BLUNDERBASE_CROSS_ORIGIN_ISOLATION |
true |
Die Seite mit Cross-Origin-Opener-Policy: same-origin und Cross-Origin-Embedder-Policy: require-corp ausliefern. Das will ein Browser sehen, bevor er einem Tab einen SharedArrayBuffer gibt – und ohne den läuft eine Engine im Browser mit einem Thread. Der Preis ist, dass jede Cross-Origin-Subressource per Cross-Origin-Resource-Policy zustimmen muss oder blockiert wird; der Build lädt keine. Schalt es aus hinter einem Proxy, der diese Header umschreibt, oder für eine Seite, die eine Ressource von woanders laden muss |
Netzwerk¶
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_HOST |
127.0.0.1 |
Woran serve bindet. Das Docker-Image startet mit 0.0.0.0 |
BLUNDERBASE_PORT |
8765 |
Der Port, an den serve bindet. blunderbase mcp --transport http nimmt diesen plus eins |
BLUNDERBASE_PUBLIC_URL |
leer | Wie diese Installation von außen erreicht wird. Wird in die runner.yaml geschrieben, die beim Anlegen eines Runners herauskommt; leer heißt, die anfragende Herkunft wird genommen. Trag hier die URL des Proxys ein. Siehe Hinter einem Proxy |
Analyse¶
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_ANALYSIS_CONCURRENCY |
Die Kerne der Maschine minus zwei, nie unter 1 | Engine-Prozesse gleichzeitig, über alle Stufen hinweg. Das begrenzt die CPU, nicht die Verbindungen |
BLUNDERBASE_ANALYSIS_WORKERS |
true |
Ob dieser Prozess die Analyse-Worker selbst betreibt. Schalt es aus für eine Installation, die die Warteschlange mit blunderbase analyze nach einem eigenen Zeitplan abarbeitet, und für die schreibgeschützte Demo |
BLUNDERBASE_ANALYSIS_POLL_SECONDS |
1.0 |
Wie lange ein untätiger Worker wartet, bevor er wieder in die Warteschlange schaut |
BLUNDERBASE_AUTO_SYNC_POLL_SECONDS |
60.0 |
Wie oft der geplante Import auf die Uhr schaut. Das Intervall selbst ist eine Einstellung in der App, voreingestellt aus; hier steht also nur, wie spät eine Synchronisierung höchstens dran sein kann |
Das Analysebrett¶
Das laufende Brett, das sich ständig aktualisiert. Siehe Analyse.
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_STREAM_SNAPSHOT_INTERVAL |
0.5 |
Wie oft eine laufende Suche einen neuen Schnappschuss veröffentlicht, in Sekunden |
BLUNDERBASE_STREAM_IDLE_SECONDS |
30.0 |
Wie lange eine Sitzung überlebt, der niemand zuhört, bevor sie ihren Slot freigibt |
BLUNDERBASE_STREAM_MAX_SESSIONS |
3 |
Analysebretter gleichzeitig. Eines je Oberfläche: das Partiebrett, das Live-Brett und die Begleitanwendung |
Runner¶
Diese liest der Server, über die Runner, die mit ihm verbunden sind. Der Runner-Prozess liest seinen eigenen Satz, weiter unten aufgelistet. Siehe Remote Runner.
| Variable | Standard | Wirkung |
|---|---|---|
BLUNDERBASE_RUNNER_HEARTBEAT_SECONDS |
10.0 |
Wie oft der Server einen verbundenen Runner anpingt |
BLUNDERBASE_RUNNER_POLL_SECONDS |
5.0 |
Wie oft ein Runner, der auf HTTP zurückgefallen ist, wieder nach Arbeit fragt |
BLUNDERBASE_RUNNER_STALE_SWEEP_SECONDS |
20.0 |
Wie oft der Server nach Durchläufen sucht, die ein Runner liegen gelassen hat |
Jede davon hat einen Standardwert, eine Installation ohne registrierte Runner verhält sich also genau so, wie sie es vor den Runnern tat.
Vom Runner-Prozess gelesen¶
Setz diese dort, wo blunderbase-runner läuft, nicht auf dem Server. Jede hat Vorrang vor
dem gleichnamigen Schlüssel in runner.yaml.
| Variable | Wirkung |
|---|---|
BLUNDERBASE_RUNNER_CONFIG |
Die runner.yaml, die gelesen wird, wenn --config fehlt |
BLUNDERBASE_RUNNER_SERVER |
Die Server-URL, die angewählt wird |
BLUNDERBASE_RUNNER_TOKEN |
Das Token des Runners |
BLUNDERBASE_RUNNER_NAME |
Der Name des Runners |
BLUNDERBASE_RUNNER_SLOTS |
Engine-Aufträge und Analysebretter gleichzeitig |
Nicht von uns¶
FORWARDED_ALLOW_IPS gehört uvicorn, dem Server darunter. Es entscheidet, welchen Adressen
bei X-Forwarded-Proto und dessen Geschwistern vertraut werden darf, und steht
voreingestellt auf 127.0.0.1. Ein Proxy in einem anderen Container braucht seine Adresse
hier, damit die App weiß, dass die Anfrage über TLS kam. Siehe
Hinter einem Proxy.