Konfiguration¶
Die Konfiguration von calServer v2 erfolgt primär über Umgebungsvariablen in der .env-Datei des Laravel-Containers.
Umgebungsvariablen¶
Datenbank¶
| Variable | Beschreibung | Beispiel |
|---|---|---|
DB_HOST |
MySQL-Hostname | mysql |
DB_PORT |
MySQL-Port | 3306 |
DB_DATABASE |
Datenbankname | calserver |
DB_USERNAME |
Datenbankbenutzer | calserver |
DB_PASSWORD |
Datenbankpasswort | <DB-PASSWORT> |
DB_PREFIX |
Tabellenpräfix | thermo_ |
Redis¶
| Variable | Beschreibung | Beispiel |
|---|---|---|
REDIS_HOST |
Redis-Hostname | redis |
REDIS_PORT |
Redis-Port | 6379 |
REDIS_PASSWORD |
Redis-Passwort | null |
Broadcasting / Pusher (Live-Updates)¶
Live-Updates im Grid sind standardmäßig aus. Neue Meldungen und ihre Zähler holt die Oberfläche im Minutentakt ab; das kostet keinen Dauerprozess und funktioniert auch hinter Reverse-Proxys, die WebSockets blocken. Listen zeigen Änderungen anderer Benutzer ohne Broadcaster erst nach dem Neuladen.
| Variable | Beschreibung | Standard |
|---|---|---|
BROADCAST_CONNECTION |
Broadcaster: null (aus), log, redis oder pusher |
null (Container), log (Laravel-Default) |
PUSHER_APP_ID |
Pusher Application ID | — |
PUSHER_APP_KEY |
Pusher App Key | — |
PUSHER_APP_SECRET |
Pusher App Secret | — |
PUSHER_APP_CLUSTER |
Pusher Cluster (z. B. eu) |
eu |
Pusher braucht ein Paket, das nicht mitgeliefert wird
BROADCAST_CONNECTION=pusher wirkt nur, wenn alle drei Zugangsdaten
gesetzt sind und pusher/pusher-php-server installiert ist. Fehlt
etwas davon, wählt calServer den null-Treiber, statt Broadcast-Aufträge
zu erzeugen, die garantiert scheitern. Sind Zugangsdaten da und nur das
Paket fehlt, steht der Grund unter Administration → Betrieb →
Warteschlange.
DMS (Dokumentenmanagement)¶
| Variable | Beschreibung | Standard |
|---|---|---|
DMS_INBOX_ENABLED |
Automatische Verarbeitung des Posteingangs. Bleibt aus, solange calServer V1 daneben läuft: Beide würden denselben Ordner leerräumen | false |
DMS_INBOX_SCHEDULE |
Wie oft der Lauf ansteht (Laravel-Scheduler-Methode, z. B. everyFiveMinutes, hourly) |
everyFiveMinutes |
DMS_INBOX_ARCHIVE |
Übernommene Quelldateien nach {Posteingang}/_archive verschieben statt löschen. false ist das Verhalten von V1 |
true |
DMS_STORAGE_MODE |
Wo die DMS-Ablage liegt: own (eigener Baum unter storage/app) oder v1-tree (V2 schreibt im V1-Dateimanager-Baum weiter) |
own |
DMS_PATH |
DMS-Ablage, übersteuert den Modus. Pfad im Container; leer lassen, wenn der Modus gelten soll | aus dem Modus abgeleitet |
DMS_INBOX_PATH |
Posteingang, übersteuert den Modus. Ebenfalls ein Pfad im Container | aus dem Modus abgeleitet |
DMS_CERT_IMPORT_PATH |
Wartebereich der Kalibrierschein-Übernahme, bewusst kein Unterordner des Posteingangs | storage/app/certificate-imports |
FILE_MANAGER_PATH |
Host-Pfad des Dateimanager-Baums, also die Quelle des Mounts. Nicht mit dem Ziel im Container zu verwechseln (/app/storage/app/filemanager) |
keiner, muss gesetzt sein |
FILEMANAGER_MOUNT_MODE |
Wie das Dateimanager-Volume eingehängt wird. Abgeleitet, nicht setzen: deploy.sh schreibt die Zeile bei jedem Lauf aus DMS_STORAGE_MODE in die .env |
ro bzw. rw |
FILEMANAGER_MOUNT_MODE_PIN |
Setzt den Mount-Modus bewusst abweichend vom Betriebsmodus. Bleibt stehen und gewinnt über die Ableitung | leer |
Welcher Modus wann richtig ist und wie die Dokumente einer bestehenden V1 herüberkommen, steht unter Betrieb → Dateispeicher.
Allgemein¶
| Variable | Beschreibung | Standard |
|---|---|---|
APP_ENV |
Umgebung | production |
APP_DEBUG |
Debug-Modus | false |
APP_URL |
Basis-URL | https://ihre-instanz.example.com |
Nginx-Proxy-Routing¶
Das URL-Routing erfolgt über den Nginx-Proxy:
# calServer v1 (Standard)
location / {
proxy_pass http://calserver:8080;
}
# API v2
location /api/v2/ {
proxy_pass http://calserver-api-v2:8081;
}
# Frontend v2
location /v2/ {
proxy_pass http://calserver-frontend:3000;
}
Scheduler¶
Der Laravel-Scheduler muss im Container aktiviert sein:
In Docker wird dies automatisch über Supervisor gesteuert.