draw.io
Despliegue y configuración de draw.io como servicio opcional de Docker Compose.
📋 Requisitos previos
El servicio draw.io incluido se expone a través del proxy inverso de Nginx. En su lugar, se puede configurar un servidor draw.io externo y no requiere el contenedor local ni su inclusión de Nginx.
⚡ Activación
Siga estos pasos para ejecutar draw.io localmente con la configuración Sync-in Docker Compose.
Configuración de Nginx
En ./config/nginx/nginx.conf, descomente la inclusión del archivo draw.io al final del archivo:
include drawio.conf;
En ./config/nginx/docker-compose.nginx.yaml, asegúrese de que la configuración de draw.io esté montada en el contenedor Nginx:
services:
nginx:
volumes:
- ./drawio.conf:/etc/nginx/drawio.conf
El archivo drawio.conf proporcionado expone el servicio en /drawio/ y añade el encabezado CORS requerido por el iframe local aislado. Mantenga ese encabezado al adaptar la configuración del proxy.
Configuración de Docker Compose
En docker-compose.yaml, elimine el comentario de los archivos de Docker Compose requeridos:
include:
- ./config/nginx/docker-compose.nginx.yaml
- ./config/drawio/docker-compose.drawio.yaml
El contenedor draw.io escucha en el puerto 8080 dentro de la red Docker. No es necesario publicar ningún puerto de host cuando se accede a él a través de Nginx.
Configuración de Sync-in
En environment.yaml, habilite la integración de draw.io:
server:
# Opcional por ahora; será obligatorio en la próxima versión principal
publicUrl: 'https://sync-in.domain.com'
applications:
files:
editors:
drawio:
enabled: true
Ejecute docker compose up -d && docker compose restart nginx sync_in para aplicar los cambios.
🌐 Acceso
Con el servicio local, el navegador carga draw.io desde la ruta /drawio/ en la URL pública de Sync-in. Configure server.publicUrl en la dirección exacta utilizada para acceder a Sync-in, incluido cualquier puerto no estándar. Si se omite, Sync-in utiliza el origen de la solicitud reenviada por Nginx como respaldo de compatibilidad.
Para utilizar una implementación de draw.io existente, no incluya el servicio Compose local de draw.io ni drawio.conf. Configure su URL accesible por navegador de la siguiente manera:
applications:
files:
editors:
drawio:
enabled: true
externalServer: 'https://drawio.my-domain.com'
Para garantizar el aislamiento, utilice un origen dedicado para un servidor draw.io externo en lugar de servirlo desde el origen de Sync-in. Sync-in añade automáticamente el origen configurado a su política de seguridad de contenido (CSP); no se requiere ninguna directiva CSP manual.
Formatos admitidos
- Los archivos
.drawioy.dwbse pueden ver y editar directamente. - Los archivos
.vsdxy.gliffyse pueden abrir sin cambiar el archivo fuente. Al guardar los cambios se crea un nuevo archivo.drawioen el mismo directorio después de solicitar su nombre.
Sync-in utiliza un bloqueo de archivos exclusivo al editar archivos nativos de draw.io.