From 5922dafa17bae8d3b8719b52d57f17651c5198e8 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 23 Feb 2026 09:04:59 +0000 Subject: [PATCH] docs: create IT_Abteilung/wiki --- IT_Abteilung/wiki.md | 152 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 IT_Abteilung/wiki.md diff --git a/IT_Abteilung/wiki.md b/IT_Abteilung/wiki.md new file mode 100644 index 0000000..5396f0d --- /dev/null +++ b/IT_Abteilung/wiki.md @@ -0,0 +1,152 @@ +--- +title: Wiki.js Profice Dokumentation +description: +published: true +date: 2026-02-23T09:04:58.250Z +tags: +editor: markdown +dateCreated: 2026-02-23T09:04:58.250Z +--- + +# 📚 Wiki.js Instanz-Dokumentation: wiki.profice.de + +Diese Dokumentation beschreibt die Einrichtung, den Betrieb und die Synchronisations-Logik der zentralen Wissensdatenbank **wiki.profice.de**. + +--- + +## 1. Architektur-Überblick + +Wiki.js dient als zentrales Dokumentations-Tool und ist tief in unsere Infrastruktur integriert. Die Datenhaltung erfolgt redundant durch eine Kopplung mit unserem internen Git-System. + +* **Domain:** `wiki.profice.de` +* **Plattform:** Wiki.js (Node.js Applikation) +* **Datenbank:** PostgreSQL (Docker) +* **Reverse Proxy:** Traefik +* **Versionskontrolle:** Gitea (`git.profice.de`) +* **Netzwerk:** Zugriff nur via **WireGuard VPN** + +--- + +## 2. Sicherheits- und Netzwerkzugriff + +### 2.1 VPN-Beschränkung (WireGuard) +Die Instanz `wiki.profice.de` ist **nicht** öffentlich erreichbar. Der Zugriff wird durch den Traefik-Proxy streng auf Anfragen aus dem WireGuard-Tunnel beschränkt. + +* **Voraussetzung:** Ein aktiver WireGuard-Tunnel mit Zugriff auf das Netzsegment von `profice.de`. +* **DNS:** Die interne Auflösung der Domain erfolgt nur bei bestehender VPN-Verbindung. + +### 2.2 TLS-Verschlüsselung +Obwohl die Verbindung über einen verschlüsselten VPN-Tunnel erfolgt, wird der Traffic zusätzlich durch **TLS-Zertifikate** (via Let's Encrypt / Traefik) gesichert, um "Man-in-the-Middle"-Angriffe innerhalb des Netzwerks zu verhindern. + +--- + +## 3. Technische Konfiguration (Docker) + +Die Bereitstellung erfolgt über Docker Compose. Wiki.js benötigt eine PostgreSQL-Datenbank für den Betrieb. + +### 3.1 Docker Compose Beispiel +```yaml +version: "3.8" +services: + db: + image: postgres:15-alpine + container_name: wikijs_db + environment: + - POSTGRES_DB=wiki + - POSTGRES_USER=wikijs + - POSTGRES_PASSWORD=dein_sicheres_passwort + volumes: + - /opt/wiki/db-data:/var/lib/postgresql/data + networks: + - internal_network + + wiki: + image: requarks/wiki:2 + container_name: wikijs_app + depends_on: + - db + environment: + - DB_TYPE=postgres + - DB_HOST=db + - DB_PORT=5432 + - DB_USER=wikijs + - DB_PASS=dein_sicheres_passwort + - DB_NAME=wiki + volumes: + - /opt/wiki/config:/wiki/config + networks: + - internal_network + - traefik_network + labels: + - "traefik.enable=true" + - "traefik.http.routers.wiki.rule=Host(`wiki.profice.de`)" + - "traefik.http.routers.wiki.entrypoints=websecure" + - "traefik.http.routers.wiki.tls.certresolver=myresolver" + +networks: + traefik_network: + external: true + internal_network: + external: false +``` +## 4. Gitea-Integration (Git Storage) + +Ein wesentliches Merkmal dieser Instanz ist die bidirektionale Synchronisation mit unserem internen Gitea-Server. Dies stellt sicher, dass alle Dokumente als reine Markdown-Dateien versioniert und auch bei einem Datenbankausfall gesichert sind. + +* **Repository-URL:** `https://git.profice.de/it-docs/wiki-storage.git` +* **Synchronisations-Modus:** Bidirektional (Push bei Änderungen im Wiki / Pull bei Änderungen im Repository). +* **Authentifizierung:** Die Kopplung erfolgt über einen **Personal Access Token**, der in Gitea für den Dokumentations-Account generiert wurde. + + + +### Konfigurationsschritte im Wiki: +1. Navigieren Sie zu **Administration > Storage**. +2. Wählen Sie **Git** aus der Liste der verfügbaren Storage-Module. +3. Tragen Sie die URL von `git.profice.de` und die entsprechenden Anmeldedaten ein. +4. Stellen Sie das Synchronisations-Intervall ein (Standard: 5 Minuten). + +--- + +## 5. Verwendung und Best Practices + +### 5.1 Editor-Wahl +Für technische Dokumentationen ist zwingend der **Markdown-Editor** zu verwenden. Dies gewährleistet die volle Kompatibilität mit dem Gitea-Storage und ermöglicht eine saubere Versionskontrolle. + +### 5.2 Medien und Anhänge +Bilder sollten direkt per Drag-and-Drop in den Editor gezogen werden. Wiki.js speichert diese im lokalen `/assets` Verzeichnis, welches automatisch mit in das Git-Repository übertragen wird. + +### 5.3 Zugriffsschutz +Da das Wiki sensible Infrastruktur-Details enthält (wie z.B. n8n-Konfigurationen), ist der Zugriff strikt auf Benutzer innerhalb des **WireGuard-VPN-Tunnels** beschränkt. Traefik blockiert alle Anfragen, die von externen (öffentlichen) IP-Adressen kommen. + +--- + +## 6. Wartung und Fehlerbehebung + +### 6.1 System-Updates +Die Wartung erfolgt über Docker. Vor jedem Update wird ein Snapshot der PostgreSQL-Datenbank empfohlen. + +```bash +# Verzeichnis der Docker-Installation aufrufen +cd /opt/wiki-js + +# Neue Images ziehen und Container neu starten +docker-compose pull +docker-compose up -d +``` +### 6.2 Troubleshooting-Guide + +Falls Probleme mit der Instanz **wiki.profice.de** auftreten, nutzen Sie bitte die folgende Übersicht zur Fehlerbehebung: + +| Symptom | Mögliche Ursache | Lösung | +| :--- | :--- | :--- | +| **Gitea-Sync schlägt fehl** | Der Personal Access Token ist abgelaufen oder die Repository-Berechtigungen wurden geändert. | Erzeugen Sie einen neuen Token auf `git.profice.de` und aktualisieren Sie diesen in den Wiki.js Storage-Einstellungen. | +| **Seite nicht erreichbar** | Die WireGuard-Verbindung ist inaktiv oder der Client befindet sich im falschen IP-Bereich. | Prüfen Sie Ihren VPN-Status. Stellen Sie sicher, dass der DNS-Server die IP korrekt auflöst. | +| **Bilder laden nicht** | Die Git-Synchronisation hat einen Konflikt in den `/assets` erzeugt. | Überprüfen Sie das Repository auf `git.profice.de` auf Merge-Konflikte und führen Sie diese ggf. manuell zusammen. | +| **"Bad Gateway" (502)** | Der Wiki.js-Container oder der Postgres-Container ist abgestürzt. | Prüfen Sie den Status mit `docker ps`. Starten Sie die Container mit `docker-compose restart` neu. | +| **Änderungen fehlen** | Die bidirektionale Synchronisation ist verzögert. | Erzwingen Sie einen manuellen "Import" über das Administrations-Panel unter "Storage". | + +--- + +**Dokumentationsstatus:** Aktiv ✅ +**Verantwortlich:** IT-Administration / DevOps +**Letzte Aktualisierung:** 23.02.2026 \ No newline at end of file