Team Vault
Gemeinsamer Obsidian-Vault des WebDev-Teams, synchronisiert über Git
Quickstart — Was muss ich tun?
1. Repo klonen
# DDoS Doings
## ETL
- Redundanz aller Systeme, die **Daten**/Konfigurationen vorhalten
- Abhängig von Risiko/Priorität/Kritikalität
- Shopware-Fallback
- Risiko des Ausfalls: gering - mittel
- Aufwand: mittel - sehr hoch (kommt drauf an)
- Docker + Redis + Co (Pullumi)
- Feuerwehrübung
## Bilder / Cloudinary
- Risiko: gering
- Aufwand: mittel - hoch (ohne Cloudflare-Cache)
- Prüfung, Caching via Cloudflare einzusetzen
- Potenzielle Kosteneinsparung durch weniger Traffic und Cache bei Cloudinary
- Cache-invalidation!!
- Backup direkt bei Cloudinary via S3 evtl sinnvoll oder quatsch mit Cloudflare?
## Proxy
- Risiko eines Ausfalls: Siehe Netlify (aber Zukunftssicherheit / Freiheit)
- Austausch: gering - unmöglich
- **Research** Reverse-Proxy via Cloudflare statt NetlifySplash
- Unabhängigkeit von Netlify
- Update NextJS Abhängigkeit
## Algolia
- Risiko des Ausfalls: Gering
- Austausch: Einfach - research done
- Research TypeSense statt Algolia
- Zumindest als Notfall-Fallback für einen MVP (Einkauf möglich)
- Zusätzlich zur technischen Umsetzung im FE, auch ETL-Import klären
- Dokumentation schreiben und schulen (Notfall-übung)
## Netlify
- Risiko eines Ausfalls: Medium - Hoch
- Austausch: Aufwand sehr hoch (je nach Abhängikeit zu anderen Themen)
- Fallback / Ersatz
- Vercel oder Cloudflare-Pages oder GitHub-Pages?
- Netlify-Server reden nur mit Cloudflare
- Ursprugsserver-Zertifikat bei Cloudflare
## Contentful
- Risiko des Ausfalls: Sehr gering (kann Shop nicht abschießen)
- Austausch: mittel - hoch
- Research Fallback zu Strapi
- Datensicherung!!
## Cloudflare
- Risiko des Ausfalls: gering
- Austausch: Einfach - wenn weg, alter Status
- Deep-Dive der Möglichkeiten
## Security
- Alle Shared Passwörter aktualisieren und MFA aktivieren
- Pakete externen aktualisieren
- API-Tokens aktualisieren + deren Rechte + Benennung (MALTE!)
---
## Prio
1. Cloudflare vor Shopware-API als selber Gatekeeper
2. Cloudflare Deep-Dive
3. Netlify Splash-Direktangriff (parallel zu onboarding)
4. Passwörter ändern und MFA aktivieren
5. Proxy via Cloudflare + Netlify-Ersatz
6. Bilder-Caching via Cloudflare
7. `yarn upgrade-interactive --latest`
8. TypeSense-Doku
![[assets/img/ddos-doings-graph.png]]
git clone https://github.com/eBusEmmos/docs_team-vault.git ~/Obsidian/team-vaultHinweis: HTTPS funktioniert out-of-the-box — GitHub fragt beim Push nach Username + Personal Access Token (PAT). Alternativ per SSH:
git clone git@github.com:eBusEmmos/docs_team-vault.git ~/Obsidian/team-vault— dafür muss ein SSH-Key bei GitHub hinterlegt sein (Anleitung).
2. Obsidian installieren
Download: obsidian.md
3. Vault öffnen
In Obsidian: Open folder as vault → ~/Obsidian/team-vault auswählen.
4. Community Plugins installieren
In Obsidian: Settings → Community Plugins → Turn on community plugins, dann folgende Plugins installieren:
| Plugin | Autor | Zweck |
|---|---|---|
| obsidian-git | Vinzent03 | Git-Sync (Auto-Pull/Commit/Push) |
| Excalidraw | zsviczian | Diagramme |
| Advanced Slides | MSzturc | Präsentationen aus Markdown |
| Dataview | blacksmithgu | Abfragen über Notizen |
| Templater | SilentVoid13 | Templates |
| Kanban | mgmeyers | Optional: Kanban-Boards |
5. obsidian-git konfigurieren
Settings → Community Plugins → Git:
| Einstellung | Wert |
|---|---|
| Vault backup interval (minutes) | 5 |
| Auto pull interval (minutes) | 5 |
| Pull updates on startup | on |
| Commit message | vault: {{date}} — {{hostname}} |
| Pull before push | on |
6. Fertig
Nach der Konfiguration synchronisiert obsidian-git alle 5 Minuten automatisch.
Ordnerstruktur
team-vault/
├── 00-meta/ # Onboarding, Konventionen, Vault-Infos
├── 10-team/ # Prozesse, Meetings, Jahresziele
├── 20-architecture/ # Tech-Entscheidungen, ADRs, Infrastruktur
├── 30-projects/ # Laufende Initiativen, Projekte
├── 40-knowledge/ # How-Tos, Snippets, Wissenssammlung
├── 50-people/ # 1:1-Notizen (private/ ist gitignored)
├── assets/
│ ├── img/ # Bilder, Screenshots
│ └── excalidraw/ # Excalidraw-Dateien
├── .github/workflows/
│ └── publish.yml # Quartz → GitHub Pages (optional)
└── .gitignore
Konventionen (Kurzfassung)
- Dateinamen:
kebab-case.md, keine Umlaute (aestattä), kein Datum-Prefix - Frontmatter: Jede Datei bekommt YAML-Header mit
title,date,tags,authors - Bilder: nach
assets/img/, einbetten via![[assets/img/name.png]] - Kleine Edits: direkt commit + push (obsidian-git macht das automatisch)
- Grosse Umbauten: Pull Request
Ausführliche Konventionen: conventions.md
Merge-Konflikte
Falls obsidian-git einen Konflikt meldet:
- Betroffene Datei in Obsidian (oder Editor) öffnen
<<<<<<</=======/>>>>>>>Marker auflösen- Speichern — Plugin pusht automatisch weiter
Bei Unsicherheit: Branch ziehen, PR aufmachen.
Web-Publikation
Der GitHub Actions Workflow (.github/workflows/publish.yml) baut den Vault via Quartz als durchsuchbare Website und deployed auf Cloudflare Pages. Zugang ist via Cloudflare Access auf Org-Mitglieder beschraenkt.
URL: https://docs-team-vault.pages.dev/
Status: Die Seite ist live und wird bei jedem Push auf
mainautomatisch aktualisiert.
Einrichtung (einmalig, Admin)
- Cloudflare API Token erstellen: Cloudflare Dashboard → My Profile → API Tokens → Custom Token mit
Cloudflare Pages: EditPermission - GitHub Secrets im Repo setzen (
Settings → Secrets → Actions):CLOUDFLARE_API_TOKEN— der Token von Schritt 1CLOUDFLARE_ACCOUNT_ID— aus dem Cloudflare Dashboard (rechte Sidebar auf der Account-Startseite)
- Cloudflare Access Policy einrichten (Zero Trust Dashboard → Access → Applications):
- Application Type: Self-hosted
- Application domain:
docs-team-vault.pages.dev - Policy: Allow → Include → GitHub Organizations →
eBusEmmos - Damit koennen nur Org-Mitglieder die Seite sehen (Login via GitHub OAuth)
KI-Kontext
Dieses Repo kann als zusätzlicher Workspace in Cursor/Copilot/Claude geöffnet werden — alle Markdown-Dateien stehen dann als Kontext zur Verfügung.