Тема
Редактор диаграмм Draw.io
На доске Эсборд доступен редактор диаграмм Draw.io. Технически это встроенный на доску редактор (iframe), который по умолчанию загружается с публичного сайта diagrams.net. Поэтому в закрытом контуре без доступа в интернет редактор нужно либо разместить внутри вашей инфраструктуры, либо он будет недоступен.
Как это работает по умолчанию
Поведение задаётся переменной окружения DRAW_IO_EMBED_URL на контейнере образа sboard:
- Переменная не задана — редактор пытается загрузиться с внешнего сайта
https://embed.diagrams.net/. Если у сервера есть доступ в интернет, редактор работает без дополнительной настройки. Если доступа нет, при открытии редактора диаграмм пользователь увидит сообщение «Draw.io недоступен в вашем окружении» с предложением обратиться к менеджеру (контакт менеджера показывается, если он назначен). - Переменная задана — редактор загружается с указанного URL. Так подключается локально размещённый Draw.io для работы в закрытом контуре.
Включение Draw.io в закрытом контуре (офлайн)
Чтобы редактор работал без доступа в интернет, разместите webapp Draw.io внутри вашей инфраструктуры и укажите его адрес в DRAW_IO_EMBED_URL.
1. Разместите Draw.io
Draw.io распространяется как готовый образ jgraph/drawio (лицензия Apache-2.0, self-hosting разрешён). Образ содержит редактор целиком и рассчитан на работу в закрытом контуре. Загрузите образ в ваш реестр и запустите контейнер, опубликовав его за тем же доменом, что и Эсборд (например, по пути /drawio/).
TIP
Экспорт диаграмм в Эсборд выполняется на стороне браузера, поэтому отдельный сервер экспорта Draw.io (drawio-export) не требуется — достаточно самого webapp.
2. Укажите адрес редактора
Задайте контейнеру образа sboard переменную окружения DRAW_IO_EMBED_URL с адресом размещённого Draw.io.
Пример для Docker-compose standalone
- Внести изменения в docker-compose.yml:
yml
sboard:
image: "${DOCKER_REGISTRY}/sboard:${DOCKER_IMAGE_TAG}"
restart: "always"
ports:
- 80:80
- 443:443
volumes:
- "./certs:/certs"
environment:
DOMAIN_NAME: "${DOMAIN_NAME}"
DRAW_IO_EMBED_URL: "https://${DOMAIN_NAME}/drawio/"
depends_on:
- minio
- redis
- postgres- Запустить docker-compose заново как при обновлении:
shell
docker-compose -f docker-compose.yml up -d --force-recreateПосле перезапуска откройте доску и добавьте диаграмму Draw.io — редактор загрузится с локального адреса, без обращения в интернет.
Отключение Draw.io
Отдельного флага для полного отключения редактора нет: если Draw.io недоступен (переменная не задана и нет доступа в интернет), при попытке открыть редактор диаграмм пользователь увидит сообщение о недоступности с контактом менеджера, а остальная работа с доской продолжается без ограничений.