2026-08-12 12:00:00 +00:00
|
|
|
---
|
|
|
|
|
type: issue
|
|
|
|
|
id: "0048"
|
|
|
|
|
status: open
|
|
|
|
|
created: 2026-08-12
|
|
|
|
|
milestone: M4
|
|
|
|
|
priority: medium
|
|
|
|
|
area: infrastructure
|
|
|
|
|
related: [docs/adr/0014-wikijs-loest-docusaurus-ab.md, docs/issues/0046-wiki-in-threadnet-server-suite-umziehen.md]
|
|
|
|
|
---
|
|
|
|
|
# Wiki.js in der ThreadNet Server Suite deployen (k8s + Postgres + Git-Storage)
|
|
|
|
|
|
|
|
|
|
## Problem / Motivation
|
|
|
|
|
|
|
|
|
|
ADR-0014: Wiki.js löst Docusaurus ab und wird Teil der ThreadNet Server Suite
|
|
|
|
|
(k8s), nicht mehr ein Overmind-Einzelstack. Braucht das Deployment plus den
|
|
|
|
|
Inhalts-Speicher.
|
|
|
|
|
|
|
|
|
|
## Acceptance
|
|
|
|
|
|
|
|
|
|
- Wiki.js läuft in der Suite (k8s): Deployment, **Postgres** (Rendern/Auth/Suche),
|
2026-08-12 12:00:00 +00:00
|
|
|
in die GitOps-Definition aufgenommen (Flux).
|
|
|
|
|
- **Öffentlich erreichbar unter `wiki.axion1337.chat`** (Entscheidung sorb
|
|
|
|
|
2026-08-12) — wie die übrigen Subdomains: A-Record → `49.13.132.245`,
|
|
|
|
|
cert-manager `Certificate` via ClusterIssuer `letsencrypt-prod`
|
|
|
|
|
(Secret `wiki-axion1337-chat-tls`), Traefik-`IngressRoute` `Host(wiki.axion1337.chat)`
|
|
|
|
|
→ Service `wikijs`:3000. Muster: `apps/authentik/ingress.yaml`. Kein
|
|
|
|
|
Forward-Auth/Outpost — Wiki.js loggt selbst via OIDC ein (#0049).
|
2026-08-12 12:00:00 +00:00
|
|
|
- **Neues `wiki`-Repo** auf git.lab angelegt (gespiegelt wie die übrigen), als
|
|
|
|
|
Wiki.js **Git-Storage** eingebunden (bidirektionaler Sync) — Inhalt liegt in git
|
|
|
|
|
(hartes Kriterium, ADR-0014).
|
|
|
|
|
- Grundstruktur für **Betrieb** und **Anwender** angelegt (zwei Bereiche);
|
|
|
|
|
`homelab/docs` ausdrücklich **nicht** eingebunden.
|
|
|
|
|
- Postgres ist gesichert (Backup), da git nur Inhalt, nicht den Laufzeit-Zustand
|
|
|
|
|
hält.
|
|
|
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
|
|
|
|
Ersetzt den Forward-Auth-Zwischenstand auf Overmind (Guide 09, #0024). OIDC +
|
|
|
|
|
Rollen kommen in #0049, Theming in #0050. Umbrella: #0046.
|
2026-08-13 12:00:00 +00:00
|
|
|
|
|
|
|
|
## Update 2026-08-13 — Git-Storage-Architektur korrigiert (Widerspruch)
|
|
|
|
|
|
|
|
|
|
Deployment, Postgres, Ingress/Cert, öffentliche Erreichbarkeit, OIDC/Rollen (#0049)
|
|
|
|
|
und Theming (#0050) laufen live und reproduzierbar über den Konfig-Job.
|
|
|
|
|
|
|
|
|
|
**Offen ist nur der Git-Storage** — und die oben geforderte Fassung ist so **nicht
|
|
|
|
|
machbar**: „`wiki`-Repo auf git.lab, gespiegelt wie die übrigen, als Storage" setzt
|
|
|
|
|
voraus, dass Wiki.js git.lab erreicht. Tut es nicht — der Cluster erreicht bewusst
|
|
|
|
|
nur Gitea (verifiziert 2026-08-13). Auflösung in
|
|
|
|
|
[ADR-0015](../adr/0015-wiki-git-storage-ueber-gitea-kanonisieren.md): Wiki.js→Gitea
|
|
|
|
|
(`sorb/wiki`), CI kanonisiert Gitea→git.lab (Muster `canonize_rotation`).
|
|
|
|
|
|
|
|
|
|
Voraussetzung (nur sorb): Gitea-Repo `sorb/wiki` (privat) anlegen + dedizierten
|
|
|
|
|
Deploy-PAT bereitstellen. Danach verdrahtet der Agent Storage + Kanonisierungs-Job.
|
2026-08-13 12:00:00 +00:00
|
|
|
|
|
|
|
|
**Nachtrag 2026-08-13 (nachmittags):** Erledigt. Repo `sorb/ThreadNetWiki` + Deploy-PAT
|
|
|
|
|
(`wiki-git-storage-deploy`) angelegt; Git-Storage in Wiki.js verdrahtet (Secret
|
|
|
|
|
`wikijs-git-secret`), Status `operational`, End-to-End verifiziert (Seite anlegen/löschen
|
|
|
|
|
propagiert nach Gitea). Damit ist das harte Kriterium „Inhalt in git" erfüllt. Einziger
|
|
|
|
|
Rest: der **Kanonisierungs-Job Gitea→git.lab** — braucht die Entscheidung, in welches
|
|
|
|
|
git.lab-Repo kanonisiert wird.
|