_ _ _ _ __ __ _
| | | | \ | | \ \ / /__ ___| |_ ___ _ __
| | | | \| | \ \ / / _ \/ __| __/ _ \| '__|
| |_| | |\ | \ V / __/ (__| || (_) | |
\___/|_| \_| \_/ \___|\___|\__\___/|_|
_____ _ _ _____ _ _ _ _
|_ _(_) | ___ |_ _|__ ___ | | | _(_) |_
| | | | |/ _ \ | |/ _ \ / _ \| | |/ / | __|
| | | | | __/ | | (_) | (_) | | <| | |_
|_| |_|_|\___| |_|\___/ \___/|_|_|\_\_|\__|
Make the technology the easy part.

きっかけ
国連ベクトルタイルツールキットを開発から配備に移す段階で、エンタープライズな配備先では一部のコンポーネントの導入に苦労することがありました。
また、ベクトルタイルの技術は最初の取り付きが難しく、情報技術のスキルがないとなかなか取り付きづらいのが実情です。
これらの課題への対応のため、Docker の使用を検討してきましたが、そもそも Docker が満足な速度で動く環境を手に入れることもそれほど容易ではありません。
そこで、数十ドルで手に入る Linux 環境として Raspberry Pi を捉え、国連ベクトルタイルツールキットを Docker 経由で Raspberry Pi で動作させることを考えました。これが実現すれば、イメージをコピーした MicroSD カードを配るだけで、国連ベクトルタイルツールキットのデモ環境および教育環境を提供できるようになるかもしれません。
とりあえず試してみたこと
私は最近 Raspberry Pi 3 Model B+ を入手し、Raspbian を導入しました。
Docker のインストール
docker と docker-compose を導入しました。当面、docker-compose を使うことはないと思いますが、将来にむけて念のため docker-compose も入れています。この作業については、@Aruneko さんが Raspberry PiでLet's EncryptなNginx Proxyを作ろう で紹介されている、次の方法を使っています。(ありがとうございます。)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt install docker-compose
あとは、 arm32v7/node:latest あたりをベースにして、国連ベクトルタイルツールキットを適宜導入して、なんらか具体的な例をみてもらいに行きたいと思います。
直面した課題
直面した課題
ということで、とりあえず doria に Dockerfile を作ってビルドを試してみたのですが、どうしても build 中に問題が起こって終了してしまいます。
どうやら、Node の @mapbox/vt-composite をインストールするにあたって、 C++ の mapbox/mason が x86 用の clang 関係のものを使ってしまってエラーになるようです。
私の C/C++ コンパイリングスキルだと、この辺りはたちどころに解決できなさそうです。
対応方針
ベクトルタイルをサーブするときに composite するのは、更新頻度が異なる複数のタイルセットについて、配信時に複合させるようにしたほうが合理的である場合があると判断したからですが、そこに拘泥せず、まずはできるだけシンプルなベクトルタイルサーバが、Raspberry Pi の上の Docker で動作することを実証する ことを優先するべきだと考えました。
koxinga の開発開始
ということで、doria をさらに単純化して、タイルセットの composite を行わないベクトルタイルサーバのバージョンを作ってみることにします。