Tenant Setup Scripts
Automatisierte Einrichtung von Tenants (porwoll.de, blogwoman.de) im Payload CMS.
Voraussetzungen
curl und jq installiert
- Admin-Zugang zum Payload CMS
- Netzwerkzugriff auf die API
Verwendung
# Hilfe anzeigen
./setup.sh --help
# porwoll.de auf Staging einrichten
./setup.sh porwoll
# blogwoman.de auf Production einrichten
./setup.sh -e production blogwoman
# Dry-Run (zeigt was passieren würde, ohne Änderungen)
./setup.sh --dry-run porwoll
# Mit expliziter Tenant-ID
./setup.sh -e production -t 4 porwoll
# Verbose Ausgabe
./setup.sh -v porwoll
Optionen
| Option |
Beschreibung |
-e, --env |
Environment: staging oder production (default: staging) |
-u, --user |
Admin E-Mail (wird sonst abgefragt) |
-p, --password |
Admin Passwort (oder PAYLOAD_PASSWORD env var) |
-t, --tenant-id |
Tenant-ID überschreiben |
-d, --dry-run |
Nur anzeigen, keine Änderungen |
-v, --verbose |
Ausführliche Ausgabe |
-h, --help |
Hilfe anzeigen |
Umgebungen
Standard Tenant-IDs
| Tenant |
Default ID |
| porwoll |
4 |
| blogwoman |
6 |
Verzeichnisstruktur
scripts/setup-tenants/
├── setup.sh # Hauptscript
├── README.md # Diese Dokumentation
└── tenants/
├── porwoll/
│ ├── site-settings.json # Website-Einstellungen
│ ├── social-links.json # Social Media Links
│ ├── pages.json # Alle Seiten
│ └── navigation.json # Navigation (Main + Footer)
└── blogwoman/
├── site-settings.json
├── social-links.json
├── pages.json
└── navigation.json
Was wird erstellt?
porwoll.de
- Site Settings (Kontakt, Adresse, SEO)
- 5 Social Links (Facebook, X, Instagram, LinkedIn, YouTube)
- 9 Seiten:
- Startseite
- Mensch
- Zytoskandal
- Whistleblowing
- complex care solutions
- gunshin Holding
- Kontakt
- Impressum
- Datenschutz
- Navigation (5 Hauptmenü-Einträge, 3 Footer-Links)
blogwoman.de
- Site Settings (Kontakt, SEO)
- 2 Social Links (YouTube, Instagram)
- 10 Seiten:
- Startseite
- Über mich (Caroline)
- Newsletter
- Favoriten
- Blog
- Serien
- Kooperationen
- Transparenz
- Impressum
- Datenschutz
- Navigation (5 Hauptmenü-Einträge, 5 Footer-Links)
Beispiel-Workflow
# 1. Erst Dry-Run auf Staging
./setup.sh --dry-run -v porwoll
# 2. Auf Staging ausführen und testen
./setup.sh -v porwoll
# 3. Im Browser prüfen: https://pl.porwoll.tech/admin
# 4. Wenn alles OK, auf Production
./setup.sh -e production porwoll
Fehlerbehandlung
| Problem |
Lösung |
| 401 Unauthorized |
Token abgelaufen → Script neu starten |
| 403 Forbidden |
User hat keine Tenant-Berechtigung |
| 400 Bad Request |
JSON-Syntax prüfen |
| Pages existieren bereits |
Script überspringt bestehende Seiten |
Hinweise
- Das Script prüft vor dem Erstellen, ob Dokumente bereits existieren
- Bestehende Site Settings werden aktualisiert (PATCH)
- Bestehende Seiten werden übersprungen (kein Update)
- Die Navigation wird nur erstellt, wenn keine existiert
Umgebungsvariablen
# Passwort aus Umgebungsvariable lesen
export PAYLOAD_PASSWORD="your-password"
./setup.sh -u admin@example.com porwoll
Anpassungen
Die JSON-Dateien in tenants/<tenant>/ können angepasst werden:
- Seiten-Inhalte in
pages.json
- Navigation in
navigation.json
- Site Settings in
site-settings.json
- Social Links in
social-links.json
Neue Seite hinzufügen
- Seite in
pages.json hinzufügen
- Falls in Navigation:
navigation.json aktualisieren mit PAGE_ID_<slug>
- Script ausführen
Letzte Aktualisierung
- Januar 2026