LoginSignup
2
2

More than 3 years have passed since last update.

Raspberry Pi と Docker でベクトルタイルのデモ・教育環境を作りたい

Posted at
 _   _ _   _  __     __        _             
| | | | \ | | \ \   / /__  ___| |_ ___  _ __ 
| | | |  \| |  \ \ / / _ \/ __| __/ _ \| '__|
| |_| | |\  |   \ V /  __/ (__| || (_) | |   
 \___/|_| \_|    \_/ \___|\___|\__\___/|_|   

 _____ _ _        _____           _ _    _ _   
|_   _(_) | ___  |_   _|__   ___ | | | _(_) |_ 
  | | | | |/ _ \   | |/ _ \ / _ \| | |/ / | __|
  | | | | |  __/   | | (_) | (_) | |   <| | |_ 
  |_| |_|_|\___|   |_|\___/ \___/|_|_|\_\_|\__|

       Make the technology the easy part.

クロスプロットフォームで国連ベクトルタイルツールキットを動かす
上図は、クロスプロットフォームで国連ベクトルタイルツールキットを動かすために Docker を活用している様子のイメージです。

きっかけ

国連ベクトルタイルツールキットを開発から配備に移す段階で、エンタープライズな配備先では一部のコンポーネントの導入に苦労することがありました。

また、ベクトルタイルの技術は最初の取り付きが難しく、情報技術のスキルがないとなかなか取り付きづらいのが実情です。

これらの課題への対応のため、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 を行わないベクトルタイルサーバのバージョンを作ってみることにします。

このプロジェクトには koxinga という名前を割り当て、とりあえずレポジトリドキュメントの作成を開始しました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2