From b1e83437ae06ad184e53fd556bab30c61b948701 Mon Sep 17 00:00:00 2001 From: Marcel Date: Wed, 27 May 2026 21:14:38 +0200 Subject: [PATCH] docs: drop stale MassImportService/ODS references from import deploy docs The mass-import card no longer parses an ODS spreadsheet and MassImportService was deleted (#674); /import now holds the normalizer's canonical artifacts (canonical-*.xlsx + canonical-persons-tree.json) plus .pdf files, read by the canonical importer. Fix the IMPORT_HOST_DIR descriptions in DEPLOYMENT.md and docker-compose.prod.yml accordingly. Refs #686 --- docker-compose.prod.yml | 13 ++++++++----- docs/DEPLOYMENT.md | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index cdae6581..70e78f0d 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -26,8 +26,10 @@ # MAIL_HOST, MAIL_PORT, SMTP relay (production only; staging uses mailpit) # MAIL_USERNAME, MAIL_PASSWORD # APP_MAIL_FROM sender address (e.g. noreply@raddatz.cloud) -# IMPORT_HOST_DIR absolute host path holding ONLY the ODS -# spreadsheet and PDFs for /admin/system mass +# IMPORT_HOST_DIR absolute host path holding the canonical +# import artifacts (canonical-*.xlsx + +# canonical-persons-tree.json) and the +# .pdf files for /admin/system # import — mounted read-only at /import inside # the backend. Compose refuses to start when # this var is unset, so staging and prod cannot @@ -217,12 +219,13 @@ services: # Bound to localhost only — Caddy fronts external traffic. ports: - "127.0.0.1:${PORT_BACKEND}:8080" - # Host path holding the ODS spreadsheet + PDFs for the mass-import endpoint. - # Read-only; MassImportService only reads (Files.list / Files.walk on /import). + # Host path holding the canonical import artifacts (canonical-*.xlsx + + # canonical-persons-tree.json) + .pdf files for the import endpoint. + # Read-only; the canonical importer only reads them from /import. # Required — no default — so staging and prod cannot accidentally share an # import source. CI workflows pin this per-env (see .gitea/workflows/). volumes: - - ${IMPORT_HOST_DIR:?Set IMPORT_HOST_DIR to a host path holding the mass-import payload (ODS + PDFs). See docs/DEPLOYMENT.md.}:/import:ro + - ${IMPORT_HOST_DIR:?Set IMPORT_HOST_DIR to a host path holding the import payload (canonical artifacts + .pdf files). See docs/DEPLOYMENT.md.}:/import:ro environment: SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/archiv SPRING_DATASOURCE_USERNAME: archiv diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index 79fe5b16..2e79481e 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -99,7 +99,7 @@ All vars are set in `.env` at the repo root (copy from `.env.example`). The back | `APP_BASE_URL` | Public-facing URL for email links | `http://localhost:3000` | YES (prod) | — | | `APP_OCR_BASE_URL` | Internal URL of the OCR service | — | YES | — | | `APP_OCR_TRAINING_TOKEN` | Secret token for OCR training endpoints | — | YES (prod) | YES | -| `IMPORT_HOST_DIR` | Absolute host path holding the ODS spreadsheet + PDFs for the `/admin/system` mass-import card. Mounted read-only at `/import` inside the backend (compose-only — backend reads via `app.import.dir`). Compose refuses to start when unset, so staging and prod cannot accidentally share the source. Convention: `/srv/familienarchiv-staging/import` and `/srv/familienarchiv-production/import` | — | YES (prod compose) | — | +| `IMPORT_HOST_DIR` | Absolute host path holding the normalizer's canonical artifacts (`canonical-{documents,persons,tag-tree}.xlsx` + `canonical-persons-tree.json`) **plus the `.pdf` files** for the `/admin/system` import. Mounted read-only at `/import` inside the backend (the canonical importer reads via `app.import.dir`). Compose refuses to start when unset, so staging and prod cannot accidentally share the source. Convention: `/srv/familienarchiv-staging/import` and `/srv/familienarchiv-production/import` | — | YES (prod compose) | — | | `MAIL_HOST` | SMTP host | `mailpit` (dev) | YES (prod) | — | | `MAIL_PORT` | SMTP port | `1025` (dev) | YES (prod) | — | | `MAIL_USERNAME` | SMTP username | — | YES (prod) | YES |