Files
WikiJS/IT_Abteilung/wiki.md

152 lines
6.1 KiB
Markdown

---
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