Architektur
Welche Dienste es gibt, wie sie zusammenhängen und wo was im Monorepo liegt.
Jeder Shop ist ein eigener Docker-Stack auf Dokploy. Die Plattform verwaltet alle Shops: Tarife, Erweiterungen, Releases, Themes, Backups, Monitoring und das Kundenportal.
Überblick
┌──────────────────────── Plattform (platform.…) ───────────────────────┐
│ Agenturbereich · Kundenportal · Theme-Registry · Hilfe/Docs · API v1 │
└───────────▲──────────────────────────▲───────────────────────▲─────────┘
signierte Berechtigungen │ Callback-Token │ Fehler, Themes, Bereit │ Backups (HTTPS)
┌────────────┴──────────────────────────┴───────────┐ ┌───────┴────────┐
Shop-Stack │ storefront (Next.js) shop-admin (Next.js+Payload)│ │ Infra-Stack │
(je Shop) │ medusa (Commerce-API, Jobs, Module) │◀─▶│ Postgres, Redis│
└────────────────────────────────────────────────────┘ │ Backup, Gotenb.│
└────────────────┘#Dienste
| Dienst | Aufgabe |
|---|---|
| storefront | Der Shop (Next.js 16, Server-Rendering). Rendert Templates aus Sections und Blöcken. |
| shop-admin | Dashboard für Händler (Next.js + Payload CMS): Inhalte, Design, Theme-Editor, BFF zu Medusa. |
| medusa | Commerce-Backend (Medusa 2): Produkte, Warenkörbe, Bestellungen, Zahlungen, eigene Module (Gutscheine, Rechnungen, B2B, Treuepunkte …) und Jobs. |
| platform | Agentur und Kundenportal, Theme-Registry, Rollouts, Backups, Monitoring, Hilfe-Center. |
| Infra | Postgres (je Shop drei Datenbanken: <id>_medusa, <id>_payload, <id>_auth), Redis, Backup-Container, Gotenberg (HTML → PDF). |
#Monorepo
apps/
storefront/ Shop
shop-admin/ Dashboard
medusa/ Commerce-Backend
platform/ Plattform (inkl. content/ für Hilfe und Docs)
packages/
theme-engine/ Regeln, Rendern, Design-Tokens, Validierung, i18n
block-registry/ Core-Sections und -Blöcke (Produkt, Warenkorb, Header …)
auth/ Signierte Plattform-Tokens (Berechtigungen, Befehle, Support)
ui/ Dashboard-Komponenten
themes/
default/ Theme-Sections (Hero, Banner, FAQ …)
packages/ Theme-Pakete (.zip-Quellen) und Generator
tools/platform-cli Plattform-CLI (pnpm platform …)
infrastructure/ Docker-Compose-Dateien, Backup-Image#Vertrauen zwischen den Diensten
- Berechtigungen (Tarif, Erweiterungen) signiert die Plattform mit Ed25519; Shop-Admin und Medusa prüfen die Signatur mit dem öffentlichen Schlüssel. Daten ändern schaltet nichts frei.
- Plattform-Befehle (z. B.
diagnostics:read) sind kurzlebige signierte JWTs mit Scope. - Shops melden sich bei der Plattform mit ihrem Callback-Token (Fehler, Theme-Katalog, „bereit“).
- Geheimnisse liegen nur in
.env-Dateien (gitignored) und in den Dokploy-Umgebungen – nie im Repository.
Zuletzt aktualisiert am 21. Oktober 2026