Docker で diagrams.net (旧 draw.io) の実行環境を整備する

経緯

diagrams.net (旧 draw.io) は便利ですが、自宅のネットワーク図を描く等、セキュリティを気にしてローカルで完結したい、と考えるケースがありました。かつ、なるべく簡単に実現できる方法を模索しました。

手法

今回は Docker を使うことにしました。特にそのままそっくりのイメージがリポジトリに存在していることが大きなアドバンテージです。

とはいえ、コマンドで起動するのすら億劫だったので、さらに簡単に起動できるように薄っぺらいラッパーを用意します。

.env

# HTTP
HOST_HTTP_PORT=18080
# HTTPS
HOST_HTTPS_PORT=18443

ホスト側のポート番号を予め列挙しておいて、ホスト・コンテナのポートの紐付けを .env ファイルに委託します。

compose.yml

version: "3.9"
services:
  epm:
    build:
      context: ./
      dockerfile: Dockerfile
    labels:
      euclidean.pointing.machine: "Euclidean pointing machine"
    tty: true
    ports:
      - "$HOST_HTTP_PORT:8080"
      - "$HOST_HTTPS_PORT:8443"

.env を利用して compose.yml で起動するようにします。これで起動は docker-compose up -d で起動できます。

Dockerfile

FROM fjudith/draw.io:latest

イメージは diagrams.net (旧 draw.io) のイメージをそのまま利用します。

これで起動して編集できることを確認しました。

参考

星取り機

作図ということでコンパスから、幻想的な名前の一つとして。……しかし、日本語だと「星取り機」の”星”が(例えただの点を表す単語だとしても)天体の意味も持つ単語故に幻想的な響きがしますが、英語では pointing machine 等実直な名前になってしまいますね……そしてあまり固定化されていない?

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。