Closed3

手書き風ドローイングツール「Excalidraw」をセルフホストで試す

kun432kun432

実はexcalidrawはObsidianプラグインで普段から使用している。

https://github.com/zsviczian/obsidian-excalidraw-plugin

ただ、チームで使うような場合に、全員にObsidianをインストールさせるというのは現実的ではないと感じる(それがチームの方針というならば、ありだとは思うが、Obsidianを使いこなすオーバーヘッドがでかいと個人的には感じる)

あとObsidianはパブリックなサービスも行っているが、これをチームで使うのは情報管理の観点でも厳しいと感じる(サービスはあまり使ってはいないので間違っているかもしれないが)。

https://excalidraw.com/

恐らくその場合はExcalidraw++を使うのだと思うが、有償になる。

https://plus.excalidraw.com/

現実的には、

が無難、というかほぼVS Codeプラグインでの利用になるかと思うが、今回はセルフホストで使う場合を少し試してみようと思う。

kun432kun432

GitHubレポジトリ

https://github.com/excalidraw/excalidraw

Excalidraw

オープンソースの手描き風スタイルのバーチャルホワイトボード。コラボレーション可能でエンドツーエンド暗号化

美しい手描き風の図やワイヤーフレームなど、自由に作成できます。

機能

Excalidrawエディター(npmパッケージ)には以下の機能が含まれています:

  • 💯 無料&オープンソース。
  • 🎨 無限に広がるキャンバスベースのホワイトボード。
  • ✍️ 手描き風スタイル。
  • 🌓 ダークモード対応。
  • 🏗️ カスタマイズ可能。
  • 📷 画像サポート。
  • 😀 図形ライブラリ対応。
  • 👅 多言語対応(i18n)。
  • 🖼️ PNG、SVG、およびクリップボードへのエクスポート。
  • 💾 オープンフォーマット - .excalidraw jsonファイルとして図をエクスポート。
  • ⚒️ 幅広いツール - 長方形、円、ダイヤモンド、矢印、線、フリードロー、消しゴムなど。
  • ➡️ 矢印の結合とラベル付き矢印。
  • 🔙 元に戻す / やり直し機能。
  • 🔍 ズームとパン対応。

Excalidraw.com

excalidraw.comでホストされているアプリは、Excalidrawで構築できるものを最小限に示すショーケースです。このアプリのソースコードもリポジトリに含まれており、次の機能があります:

  • 📡 PWAサポート(オフラインで動作)。
  • 🤼 リアルタイムのコラボレーション。
  • 🔒 エンドツーエンド暗号化。
  • 💾 ローカル優先対応(ブラウザに自動保存)。
  • 🔗 共有リンク(読み取り専用リンクとしてエクスポートして他者と共有可能)。

これらの機能は、将来的にnpmパッケージのプラグインとして追加予定です。

ドキュメント

https://docs.excalidraw.com/docs

kun432kun432

レポジトリ内にDockerfileとdocker-compose.yamlがあるので、これで起動すれば良さそうではあるが、docker-compose.yamlの最終更新は3年前。

https://github.com/excalidraw/excalidraw/blob/master/docker-compose.yml

Dockerfileも3ヶ月前。

https://github.com/excalidraw/excalidraw/blob/master/Dockerfile

ただDockerイメージは更新されている様子なので、これを使うのが良さそう。

https://hub.docker.com/r/excalidraw/excalidraw

docker runで起動。デフォルトは5000番ポートが使用されていたが、自分の環境では埋まっているので、35000番ポートに変えた。とりあえず--rmで。

docker run --rm -dit --name excalidraw -p 35000:80 excalidraw/excalidraw:latest

ブラウザでアクセスすると普通に使える

日本語もいける(XiaolaiというCJK全部に対応したフォントみたい)

ただし、いくつか使えない機能がある

  • リアルタイムコラボレーション
    • 共有自体はできなくはない。
    • がリアルタイムではない。誰かが更新したとしてもすぐには反映されず、どうもセッションを終了するとリロードで更新されるのがわかるという感じ
  • AI機能
    • ここは完全に動かない、クラウドサービスのみのように思える
  • カスタマイズ要素はなさそう

まあローカルで建てたとしても、保存もできなさそう(エクスポートしてインポートするしかない)なので、そこまで便利になる感はなさそうかなぁ。

レポジトリ内に.excalidrawファイルを含めておいて、あとVS Codeプラグインをインストールする設定も入れておいて、ってのがやはり現実的な感はある。

このスクラップは13日前にクローズされました