factory-defaults: builtin-Werkseinstellungen beim Auto-Seed einspielen
Neue VMs sollen direkt mit den im Repo abgelegten Stammdaten + Auftragsvorlagen + HTML-Templates hochkommen, ohne dass man jedes Mal manuell ein ZIP hochlädt. - Dockerfile: kopiert backend/factory-defaults nach /app/factory-defaults-builtin und backend/scripts nach /app/scripts - seed-factory-defaults.ts: ROOT-Pfad über FACTORY_DEFAULTS_DIR überschreibbar - entrypoint.sh: nach erfolgreichem Auto-Seed läuft `tsx scripts/seed-factory-defaults.ts` mit FACTORY_DEFAULTS_DIR auf den builtin-Pfad. Trigger NUR bei frischer DB (RAN_SEED=true), bestehende Installs werden nie nachträglich überschrieben. `backend/factory-defaults/*` bleibt gitignored – Inhalte legt jeder Operator-User selbst lokal ab (z.B. via Export-ZIP entpacken), sie landen beim nächsten Container-Build im Image. Live verifiziert: frischer Container mit RUN_SEED=true zieht 10 Anbieter, 4 Tarife, 18 Kündigungsfristen, 18 Laufzeiten, 8 Kategorien, 2 PDF-Vorlagen und 2 HTML-Templates ein; PDFs landen mit eindeutigem Suffix in uploads/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -97,6 +97,17 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
|
||||
## ✅ Erledigt
|
||||
|
||||
- [x] **🚀 Auto-Seed: Werkseinstellungen beim Erst-Deploy**
|
||||
- Inhalt von `backend/factory-defaults/` wird via Dockerfile als
|
||||
`/app/factory-defaults-builtin/` ins Image gebrannt.
|
||||
- Entrypoint spielt sie nach erfolgreichem Auto-Seed (frische DB) automatisch
|
||||
via `tsx scripts/seed-factory-defaults.ts` ein – steuerbar über
|
||||
`FACTORY_DEFAULTS_DIR`.
|
||||
- Damit bringen neue VMs sofort Anbieter, Tarife, PDF-Auftragsvorlagen +
|
||||
Datenschutzerklärung/Impressum mit, ohne manuelles UI-/CLI-Import.
|
||||
- Bestehende Installs werden NIE überschrieben (Trigger nur wenn der
|
||||
Auto-Seed im selben Start-Lauf gelaufen ist).
|
||||
|
||||
- [x] **📦 Factory-Defaults: HTML-Templates + Import via UI**
|
||||
- Datenschutzerklärung, Impressum, Vollmacht-Vorlage und Website-Datenschutz
|
||||
werden jetzt mit ins Factory-Defaults-ZIP gepackt (`app-settings/`-Ordner,
|
||||
|
||||
Reference in New Issue
Block a user