Files
familienarchiv/docs/architecture/c4
Marcel e4df17f308
Some checks failed
CI / Unit & Component Tests (push) Failing after 7m31s
CI / OCR Service Tests (push) Successful in 49s
CI / Backend Unit Tests (push) Failing after 3m30s
CI / Unit & Component Tests (pull_request) Failing after 6m55s
CI / OCR Service Tests (pull_request) Successful in 51s
CI / Backend Unit Tests (pull_request) Failing after 3m31s
docs: retire overlay narrative; add Caddy to C4 L2 diagram
- docs/infrastructure/production-compose.md: trimmed to VPS sizing,
  cost breakdown, and Hetzner ecosystem rationale. The inline
  compose spec (overlay + Hetzner OBS in prod) is retired; the
  live file is now docker-compose.prod.yml at the repo root and
  the Caddyfile lives at infra/caddy/Caddyfile. Observability
  stack is called out as a not-yet-deployed gap (issue #498).

- docs/architecture/c4/l2-containers.puml: adds Caddy as a named
  reverse-proxy container with the two port paths and notes the
  archiv-app service-account split on MinIO access.

Refs #497.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 22:00:21 +02:00
..

C4-PlantUML Diagrams

Architecture diagrams in C4-PlantUML format. These are the authoritative source for layout-accurate diagrams. The companion c4-diagrams.md in the parent directory keeps Mermaid versions for inline Gitea rendering.

Render in Gitea

Gitea is configured to render .puml files as diagrams. Open any .puml file in the Gitea UI to see the rendered diagram.

Note: plantuml code fences inside Markdown files do not render inline in Gitea — this is a Gitea limitation unrelated to the server configuration. The .md files in this repo use Mermaid for that reason.

Render in VS Code

Install the PlantUML extension (jebbs.plantuml). The project's .vscode/settings.json already points at the shared server:

plantuml.server = http://heim-nas:8500

Open any .puml file and press Alt+D to preview.

Files

File Diagram
l1-context.puml Level 1 — System Context
l2-containers.puml Level 2 — Containers
l3-backend-3a-security.puml L3 Backend: Security & Authentication
l3-backend-3b-document-management.puml L3 Backend: Document Management & Import
l3-backend-3c-transcription.puml L3 Backend: Document Transcription Pipeline
l3-backend-3d-users-groups.puml L3 Backend: Users, Groups & Administration
l3-backend-3e-persons.puml L3 Backend: Persons & Family Graph
l3-backend-3f-ocr.puml L3 Backend: OCR Orchestration
l3-backend-3g-supporting.puml L3 Backend: Supporting Domains
l3-frontend-3a-middleware-auth.puml L3 Frontend: Middleware, Auth & Layout
l3-frontend-3b-document-workflows.puml L3 Frontend: Document Workflows
l3-frontend-3c-people-stories.puml L3 Frontend: People, Stories & Discovery
l3-frontend-3d-administration.puml L3 Frontend: Administration & Help
seq-auth-flow.puml Sequence: Authentication Flow
seq-document-upload.puml Sequence: Document Upload Flow