fix: Betriebsskripte fehlten im Docker-Abbild

Das Verzeichnis scripts/ wurde beim Bauen nie in die Laufzeitstufe
uebernommen. Der in der Anleitung dokumentierte Befehl

    docker compose exec app node scripts/totp-geheimnis.mjs ...

endete deshalb mit "Cannot find module". Betroffen war nicht nur dieses
eine Skript, sondern alle, die im laufenden Behaelter gedacht sind - auch
wartungsschluessel.mjs und schluessel-erzeugen.mjs.

Kopiert wird jetzt das ganze Verzeichnis, nicht einzelne Dateien. Sonst
faellt beim naechsten Betriebsskript wieder auf, dass es fehlt - und zwar
erst dann, wenn man es braucht. Die Entwicklungsskripte darin laufen dort
mangels Werkzeugen nicht, kosten aber nur ein paar Kilobyte.

Geprueft im fertigen Abbild und gegen eine echte Datenbank: Das Skript
liegt unter /app/scripts, laeuft als Benutzer cockpit und gibt dasselbe
Geheimnis aus wie auf dem Entwicklungsrechner.

Die Anleitung nennt jetzt zusaetzlich den Weg fuer alle, die noch eine
aeltere Fassung laufen haben und nicht sofort aktualisieren wollen:
docker compose cp legt die Datei einmalig in den Behaelter.

Etappe: 8
Phase: Haertung
This commit is contained in:
Florian Wilde
2026-08-22 12:02:16 +02:00
parent 9df6419a68
commit 5ee3275112
5 changed files with 54 additions and 3 deletions
+8
View File
@@ -356,6 +356,14 @@ liest es auf dem Server aus:
docker compose exec app node scripts/totp-geheimnis.mjs deine@adresse.de
```
Läuft der Behälter noch mit einer Fassung vor 1.0.1, fehlt das Skript im
Abbild (`Cannot find module`). Dann entweder aktualisieren, oder einmalig:
```bash
docker compose cp scripts/totp-geheimnis.mjs app:/app/totp-geheimnis.mjs
docker compose exec app node totp-geheimnis.mjs deine@adresse.de
```
Das ist keine Hintertür: Es läuft nur mit Zugriff auf die Datenbank **und**
auf `ENC_KEY_V1`. Wer beides hat, kommt ohnehin an alles. Die Ausgabe
gehört trotzdem in kein Protokoll und in keine E-Mail.