# =========================================================================== # Timer App - Konfiguration # Diese Datei nach ".env" kopieren und ausfuellen. Die .env gehoert NICHT # in die Versionsverwaltung. # =========================================================================== # --- Netzwerk -------------------------------------------------------------- PORT=3003 # Auf welcher Adresse gelauscht wird. # 127.0.0.1 = nur lokal erreichbar -> RICHTIG, wenn ein Reverse Proxy # (nginx, Caddy, Traefik) davorsteht # 0.0.0.0 = im ganzen Netz erreichbar -> nur ohne Reverse Proxy, und dann # bitte COOKIE_SECURE=false beachten (siehe unten) HOST=127.0.0.1 # Anzahl der Proxy-Ebenen davor. Bei genau einem Reverse Proxy: 1. # Ohne Reverse Proxy: false TRUST_PROXY=1 # --- Sicherheit ------------------------------------------------------------ # ACHTUNG, haeufigste Fehlerquelle beim Deployment: # true -> Cookie wird NUR ueber HTTPS gesetzt. Laeuft die App ueber http://, # scheitert der Login STUMM (Passwort wird akzeptiert, aber die # Sitzung kommt nie zustande). # false -> auch ueber http:// nutzbar. Nur im internen Netz vertretbar. COOKIE_SECURE=true # Zufaelliger Wert, unterschreibt die Sitzungs-Cookies. # Erzeugen mit: npm run gen-secret SESSION_SECRET=HIER_EINEN_ZUFALLSWERT_EINSETZEN # Passwort fuer die Anmeldung. ZWEI Wege - bitte den ersten waehlen: # # 1) EMPFOHLEN: bcrypt-Hash. Erzeugen mit: # npm run hash-password -- "MeinPasswort" PASSWORD_HASH= # 2) Notfalls Klartext. Wird beim Start gehasht, steht aber lesbar in dieser # Datei. Der Server warnt beim Start. Nur eins von beiden setzen. #PASSWORD= # Anmeldeversuche pro Zeitfenster (Schutz gegen Durchprobieren) LOGIN_MAX_ATTEMPTS=20 LOGIN_WINDOW_MIN=15 # --- Daten ----------------------------------------------------------------- # Pfad zur SQLite-Datei. Standard: ../data/timer.db relativ zum backend/. # Das Verzeichnis muss existieren und fuer den Dienst-Benutzer schreibbar sein. #DB_PATH=/var/lib/timer-app/timer.db # Nur beim allerersten Start relevant: setzt den Anfangstarif. # Danach wird der Tarif in der Datenbank gepflegt (Menue "Einstellungen"). RATE_PER_10MIN=10 # --- Bondrucker ------------------------------------------------------------ # Der Bondrucker haengt per USB an einem Raspberry Pi. Auf dem Pi laeuft die # Bruecke aus deploy/bondrucker/ und nimmt fertige Druckdaten per HTTP an. # Einrichtung des Pi: siehe deploy/bondrucker/README.md # # Bleibt PRINTER_HOST leer, ist die Druckfunktion aus - die App laeuft dann # genau wie vorher, nur ohne Bon-Knoepfe. PRINTER_HOST= PRINTER_PORT=9100 # Muss mit PRINT_TOKEN aus /etc/bondrucker/env auf dem Pi uebereinstimmen. # install.sh gibt den Wert am Ende aus. PRINTER_TOKEN= # Zeichen je Zeile. 42 = 80-mm-Papier (Standard), 32 = 58-mm-Papier. PRINTER_WIDTH=42 # Abbruch, wenn der Pi nicht antwortet. Lieber kurz: ein haengender Drucker # darf das Beenden eines Timers nicht blockieren. PRINTER_TIMEOUT_MS=6000