Files
projektuebersicht/docker-compose.yml
T
erikandClaude Opus 5.5 b7e0bd0d92 Termin aus Mail, Rollen & Rechte, Abwesenheiten, Glas-Darstellung und Pi-Betrieb
- Termin aus Mail: Mailtext oder .eml per Drag & Drop/Strg+V auf Terminplan
  oder Aufgaben, KI schlägt Aufgaben vor, Prüfung im Aufgaben-Panel; neues
  Notizfeld je Aufgabe (plan_todos.notiz)
- Terminplan: Meilensteine ohne Aufgabenbezug je in eigener Zeile,
  "+ Neu"-Menü klappt neben schmaler Seitenleiste nach rechts, Leistungsphasen
- Rollen & Rechte, Abwesenheiten-Seite, Benachrichtigungen, Rundgang
- Glas-Darstellung, Logo als Favicon
- Pi-Betrieb: PDF-Arbeit im Kindprozess, Wächter, Einrichtungs- und
  Prüfskript inkl. WLAN-Wächter

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 14:16:52 +01:00

45 lines
1.6 KiB
YAML

services:
projektuebersicht:
build:
context: .
dockerfile: Docker/Dockerfile
container_name: projektuebersicht
ports:
- "3003:3003"
volumes:
- ./sessions:/app/sessions
environment:
# Ohne TZ läuft der Container auf UTC. Der Server vergleicht Termine
# mit dem heutigen Datum (heuteIsoLokal() in server.js) — in deutscher
# Sommerzeit gälte damit zwischen 00:00 und 02:00 Ortszeit noch der
# Vortag, und Termine von heute erschienen als überfällig.
TZ: Europe/Berlin
# Speicher-Wächter: darüber startet der Server sich selbst sauber neu,
# bevor die Grenze von 320 MB (mem_limit) erreicht ist.
SPEICHER_MAX_MB: "220"
# PDF-Kindprozess (Protokoll-Import, Plan Checker): bricht darüber ab.
PDF_KIND_MAX_MB: "220"
PDF_KIND_HEAP_MB: "160"
# Hänger-Wächter: reagiert der Server so lange nicht, Neustart.
HAENGER_MAX_S: "90"
restart: always
# Betrieb auf dem Pi Zero 2 (512 MB), siehe CLAUDE.md "Betrieb auf dem Pi":
# tini als PID 1 — Signale kommen sauber bei Node an (DB wird geschlossen).
init: true
# Feste Speichergrenze: Läuft die App über, trifft es nur diesen
# Container (restart: always holt ihn zurück), nicht SSH oder Docker.
mem_limit: 320m
memswap_limit: 512m
# Die Protokolle wuchsen sonst unbegrenzt auf der SD-Karte.
logging:
driver: json-file
options:
max-size: "5m"
max-file: "3"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:3003/health >/dev/null || exit 1"]
interval: 60s
timeout: 10s
start_period: 60s
retries: 3