Skip to content

Редактор диаграмм 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
  1. Внести изменения в 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
  1. Запустить docker-compose заново как при обновлении:
shell
docker-compose -f docker-compose.yml up -d --force-recreate

После перезапуска откройте доску и добавьте диаграмму Draw.io — редактор загрузится с локального адреса, без обращения в интернет.

Отключение Draw.io ​

Отдельного флага для полного отключения редактора нет: если Draw.io недоступен (переменная не задана и нет доступа в интернет), при попытке открыть редактор диаграмм пользователь увидит сообщение о недоступности с контактом менеджера, а остальная работа с доской продолжается без ограничений.