draw.io
Bereitstellung und Konfiguration von draw.io als optionaler Docker-Compose-Dienst.
📋 Voraussetzungen
Der gebündelte draw.io-Dienst wird über den Nginx-Reverse-Proxy verfügbar gemacht. Stattdessen kann ein externer draw.io-Server konfiguriert werden, der weder den lokalen Container noch dessen Nginx-Include benötigt.
⚡ Aktivierung
Befolgen Sie diese Schritte, um draw.io lokal mit der Sync-in-Docker-Compose-Konfiguration auszuführen.
Nginx-Konfiguration
Entkommentieren Sie in ./config/nginx/nginx.conf das draw.io-Include am Ende der Datei:
include drawio.conf;
Stellen Sie in ./config/nginx/docker-compose.nginx.yaml sicher, dass die draw.io-Konfiguration im Nginx-Container gemountet ist:
services:
nginx:
volumes:
- ./drawio.conf:/etc/nginx/drawio.conf
Der bereitgestellte drawio.conf macht den Dienst unter /drawio/ verfügbar und fügt den CORS-Header hinzu, der für den lokalen Sandbox-Iframe erforderlich ist. Behalten Sie diesen Header bei, wenn Sie die Proxy-Konfiguration anpassen.
Docker Compose-Konfiguration
Entkommentieren Sie in docker-compose.yaml die erforderlichen Docker Compose-Dateien:
include:
- ./config/nginx/docker-compose.nginx.yaml
- ./config/drawio/docker-compose.drawio.yaml
Der draw.io-Container lauscht im Docker-Netzwerk auf Port 8080. Beim Zugriff über Nginx muss kein Host-Port veröffentlicht werden.
Sync-in-Konfiguration
Aktivieren Sie in environment.yaml die draw.io-Integration:
server:
# Derzeit optional; in der nächsten Hauptversion erforderlich
publicUrl: 'https://sync-in.domain.com'
applications:
files:
editors:
drawio:
enabled: true
Führen Sie docker compose up -d && docker compose restart nginx sync_in aus, um die Änderungen zu übernehmen.
🌐 Zugriff
Mit dem lokalen Dienst lädt der Browser draw.io aus dem Pfad /drawio/ auf der öffentlichen Sync-in-URL. Setzen Sie server.publicUrl auf die genaue Adresse, die für den Zugriff auf Sync-in verwendet wird, einschließlich aller nicht standardmäßigen Ports. Wenn die Option weggelassen wird, verwendet Sync-in den von Nginx weitergeleiteten Anforderungsursprung als Kompatibilitäts-Fallback.
Um stattdessen eine vorhandene draw.io-Bereitstellung zu verwenden, binden Sie weder den lokalen draw.io-Compose-Dienst noch drawio.conf ein. Konfigurieren Sie die über den Browser zugängliche URL wie folgt:
applications:
files:
editors:
drawio:
enabled: true
externalServer: 'https://drawio.my-domain.com'
Verwenden Sie zur Isolierung einen dedizierten Ursprung für einen externen draw.io-Server, anstatt ihn vom Sync-in-Ursprung aus bereitzustellen. Sync-in fügt den konfigurierten Ursprung automatisch seiner Inhaltssicherheitsrichtlinie hinzu; es ist keine manuelle CSP-Anweisung erforderlich.
Unterstützte Formate
- Die Dateien
.drawiound.dwbkönnen direkt angezeigt und bearbeitet werden. - Die Dateien
.vsdxund.gliffykönnen geöffnet werden, ohne die Quelldatei zu ändern. Beim Speichern von Änderungen fragt Sync-in nach einem Namen und erstellt eine neue.drawio-Datei im selben Verzeichnis.
Sync-in verwendet eine exklusive Dateisperre beim Bearbeiten nativer draw.io-Dateien.