-
v0.1.0 – Laufzettel MVP Stable
released this
2026-10-02 22:17:05 +00:00 | 23 commits to main since this releaseErster MVP. Checklisten für wiederkehrende IT-Arbeiten: versionierte Vorlagen, Läufe, unveränderliches Archiv, QR-Aufkleber, LDAP-Abgleich — selbst gehostet, deutsch, dunkel.
Was drin ist
- Vorlagen mit echter Versionierung. Eine veröffentlichte Version wird nie verändert; „Bearbeiten" erzeugt eine tiefe Kopie als Entwurf, und höchstens ein Entwurf je Vorlage. Laufende Arbeiten ändern sich nicht, wenn jemand eine neue Version veröffentlicht.
- Läufe mit Schreibschutz. Abschließen erst, wenn alle Pflichtschritte erledigt oder begründet übersprungen sind. Nach dem Archivieren ist Schluss — zurückholen darf nur
ADMIN, und es steht im Protokoll. - QR-Aufkleber als Einstieg. Jedes Gerät trägt einen unveränderlichen
tagCode, der nie wiederverwendet wird. Scannen führt direkt auf die Geräteseite; Etiketten in 62 × 29 mm und als A4-Bogen, immer hell gedruckt. - Platzhalter und Namensregeln.
{{mitarbeiter}},{{abteilung}},{{ou}}und Variablen werden aufgelöst, Werte je Shell korrekt maskiert. „Jörg Müller-Lüdenscheid" wird zujoerg.mueller-luedenscheid@…undjmuellerluedensch.{{generiertes_passwort}}wird je Anzeige neu erzeugt und nirgends gespeichert — nicht in Schrittergebnissen, Kommentaren, im Protokoll oder im Ausdruck. - Zwei Betriebsmodi in einem Codepfad.
INTERNfür die eigene Firma,DIENSTLEISTUNGfür mehrere Kunden. Der Wechsel ist eine Datenänderung, keine Migration, und geht in beide Richtungen. - LDAP-Abgleich mit ldaps/StartTLS, eigenem CA-Zertifikat, Seitenabruf und korrekter
objectGUID. Entfernte Konten werden inaktiv, nie gelöscht. Das Bind-Passwort liegt verschlüsselt und erscheint in keiner Antwort. - Rechte nur serverseitig, aus einer Tabelle, mit Rolle und Aktiv-Status pro Anfrage aus der Datenbank. Jede Seite prüft selbst.
- Regeln in der Datenbank, nicht nur im Dienst: zwölf CHECK-Bedingungen, zwei partielle Eindeutigkeitsindizes und vier zusammengesetzte Fremdschlüssel. Ein Lauf kann strukturell kein Gerät und keine Person eines fremden Kunden wählen.
Zwei Wege in den Betrieb
- Docker Compose, gehärtet. Die Datenbank hat keinen veröffentlichten Port und hängt in einem Netz ohne Gateway — vom Host nicht erreichbar, aus dem Webdienst schon. Migrationen laufen beim Start, der Seed bleibt ein bewusster Handgriff.
- Nativ in einen LXC, ein Einzeiler im Stil der Proxmox-Helper-Scripts. PostgreSQL hört nur am Unix-Socket, die Geheimnisse entstehen im Zielsystem, der Dienst läuft unter systemd mit
ProtectSystem=strict. Ein erneuter Aufruf aktualisiert, ohne Daten oder Geheimnisse zu verlieren.
Stand der Prüfung
1131 Vitest-Tests in 51 Dateien, 101 Ende-zu-Ende-Abläufe in
INTERNund 97 inDIENSTLEISTUNG, alle grün.shellcheckohne Befund über beide Betriebsskripte, auch ohne Schwellenwert. Die native Installation lief zweimal indebian:13und einmal unter echtem systemd durch, inklusive Aktualisierungslauf.59 von 61 Abnahmekriterien abgehakt. Offen, mit Begründung in
docs/abnahme-mvp.md:- Der
pct-Teil des Proxmox-Einzeilers ist ungetestet — hier stand kein Proxmox-Host zur Verfügung. Die Gegenprobe steht als Prüfliste indocs/betrieb/proxmox.md, das Folge-Issue ist #38. - OIDC ist gegen kein echtes authentik gelaufen; geprüft sind Konfigurationslogik, Rückrufadresse und die Abbildung von Gruppen auf Rollen.
Anleitung
laufzettel-anleitung.pdfliegt diesem Release bei: 72 Seiten, neun Kapitel, getrennt für Technik und Verwaltung, mit 35 Bildern und einem Fehlerbehebungskapitel aus echten Meldungen. Im Repo steht sie als Markdown unterdocs/anleitung/— das PDF entsteht daraus mitpnpm docs:pdf.Erste Schritte
cp .env.example .env # APP_SECRET und Passwörter ausfüllen docker compose up -d --build docker compose run --rm migrate pnpm db:seedOder nativ auf einem Proxmox-Host:
bash -c "$(curl -fsSL https://git.wilde-server.de/florian.wilde/Laufzettel/raw/branch/main/deploy/proxmox/laufzettel.sh)"Davor gehört ein Reverse Proxy mit TLS — siehe
docs/betrieb/reverse-proxy.md.
Der vollständige Changelog mit allen 143 Einträgen steht in CHANGELOG.md.
Downloads