ドキュメント作成

作図Webアプリ「draw.io」をLAN上に構築する

投稿日:2019年6月15日

draw.ioはUML、ネットワーク図、ポンチ絵他、様々な図を掛けるWebツールで、最近はOfficeの代替お絵かきツールとしても活用が増えています。

依存度が高くなるにつれて、インターネットサイトなだけにいつか無くなるんじゃないか、サーバがダウンしたら資料作れなくなるかも、と心配になってくるので、ローカルに構築してインターネットに出て行かなくても使えるようにしておきます。

構築手段を調べる

draw.ioはgithubでソース公開されています。javaのWebアプリとして作られていてTomcatを入れればデプロイ出来ます。

しかし世の中マイクロサービスの時代、構築もビルド無しのdocker一発で済ませたいのが楽をしたい人の性です。Docker Hubにdockerイメージが公開されているのでこれを利用します。

環境

docker-ceをインストール済みのCentOS7上にコンテナイメージを入れてHTTP:8080でアクセス出来るようにします。この図もdraw.ioで描いています。

構築

Docker Hubで公開されている情報通りコンテナイメージを入れます。OpenJDK8、Tomcat9が同梱されたコンテナイメージになっています。

[root@spock]# docker run -it --rm --name="draw" -p 8080:8080 -p 8443:8443 fjudith/draw.io
Unable to find image 'fjudith/draw.io:latest' locally
latest: Pulling from fjudith/draw.io
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
b6abafe80f63: Pull complete
d8c966ddef98: Pull complete
15b754e99755: Pull complete
4227393eb352: Pull complete
b0f94db3e314: Pull complete
d689649f37fb: Pull complete
38fe4a3e83e7: Pull complete
616291d692d1: Pull complete
Digest: sha256:2bfaf447d3d1a7b523efb3e2674f2144a619b7d5ff162f2eaf9830c01b165fc7
Status: Downloaded newer image for fjudith/draw.io:latest
Generating Self-Signed certificate
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 1 entry

      (snip)

Append https connector to server.xml
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8-openjdk/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
13-Jun-2019 12:52:27.301 WARNING [main] org.apache.catalina.core.StandardContext.setPath A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []
13-Jun-2019 12:52:29.272 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.20
13-Jun-2019 12:52:29.272 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          May 3 2019 22:26:00 UTC
13-Jun-2019 12:52:29.272 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.20.0
13-Jun-2019 12:52:29.273 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux

      (snip)

13-Jun-2019 12:52:47.825 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [14,942] milliseconds

無事Tomcat9が起動し8080ポートで待機し始めました。ホスト側のCentOS7で8080ポートを開けておきます。

# firewall-cmd --add-port=8080/tcp --zone=public --permanent
# firewall-cmd --reload

使ってみる

http://インストールしたCentOS7のIP:8080にブラウザアクセスしてみます。いつも使っている見慣れた画面が出てきました。

Languageをクリックすると日本語設定も出来ます。

新規作成画面。

画像保存画面。

http://www.draw.ioで使っているのと変わらない機能をローカルLAN上に構築することが出来ました。

作成データの保存先は今後も増える

コンプラ的に保存先としてgithubが使えない会社さんもあると思います。draw.io、GitLab両方のコミュニティでインテグレーションの議論があるようなので、いつかオンプレ構築したGitLabにも保存出来る日が来るかも知れません。

-ドキュメント作成
-,

執筆者:

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯現役技術者を目指しています。健康第一。