From 32a6a52a84164eebecc17fcc19bcbd4f57dbd90b Mon Sep 17 00:00:00 2001 From: "Taro Matsuzawa aka. btm" Date: Sun, 5 Jan 2025 16:48:50 +0900 Subject: [PATCH] update documents for openmaptiles and docker --- docs/generate_vector_tile/openmaptiles.md | 56 +++++++++++++---------- docs/prepare/docker.md | 27 +++++++---- 2 files changed, 48 insertions(+), 35 deletions(-) diff --git a/docs/generate_vector_tile/openmaptiles.md b/docs/generate_vector_tile/openmaptiles.md index 7dc0f8a..73951c1 100644 --- a/docs/generate_vector_tile/openmaptiles.md +++ b/docs/generate_vector_tile/openmaptiles.md @@ -4,7 +4,7 @@ ## ターゲット -- OpenMapTiles v3.11 +- OpenMapTiles v3.15 ## ハードウェア @@ -17,20 +17,20 @@ 共通して必要なもの - Docker -- Docker Compose +- Docker Compose V2プラグイン - git - make `quickstart.sh`で利用されるもの - bc -- md5sum (Ubuntuでは`coreutils`に、macOSのHomebrewでは`md5sha1sum`に含まれる) +- md5sum ## セットアップ openmaptiles の `quickstart.sh` の実行に必要なコマンドをインストールします。 -### Ubuntu +### Ubuntu or Debian ```bash sudo apt install git make bc @@ -41,27 +41,27 @@ sudo apt install git make bc ```bash sudo xcode-select -s /Applications/Xcode.app xcode-select --install -brew install md5sha1sum +brew install coreutils ``` -なお、`xcode-select`はCommand Line Toolsをインストールするもので、直接xcodeを起動してた場合は必要ない可能性があります。また、アップデートはSoftware Updateで自動的に行われます。 +なお、 `xcode-select` はCommand Line Toolsをインストールするもので、直接Xcodeを起動していた場合は必要ない可能性があります。また、アップデートはSoftware Updateで自動的に行われます。 -また、md5sumは必須ではないが`quickstart.sh`を実行後に停止してしまうのでインストールを推奨。 +また、 `md5sum` は必須ではないが `quickstart.sh` を実行後に停止してしまうのでインストールを推奨。 ### openmaptiles -最初にopenmaptilesをgithubから`git clone`して、ターゲットとなるバージョンを指定します。 +最初にopenmaptilesをgithubから `git clone` して、ターゲットとなるバージョンを指定します。 ```bash git clone https://github.com/openmaptiles/openmaptiles.git cd ./openmaptiles -git checkout -b v3.11 refs/tags/v3.11 +git checkout -b v3.15 refs/tags/v3.15 ``` 次に必要なdocker imageを取得します。 ```bash -docker-compose pull +docker compose pull ``` あとは動作チェックのために、`quickstart.sh`を実行します。 @@ -76,13 +76,13 @@ docker-compose pull openmaptilesでは`quickstart.sh`を通して以下の作業をします。 -- インポート先となるPostgreSQLのインスタンスを起動 +- インポート先となる PostgreSQL のインスタンスを起動 - OpenStreetMapのデータを[geofabrikのミラー](http://download.geofabrik.de)からダウンロード - layersの定義に沿って[imposm3](https://github.com/omniscale/imposm3)を使ってOSMデータをインポート - PostgreSQLでプロセッシング -- `Mapbox Vector Tile`を生成して `data/tiles.mbtiles` へ格納 +- `Mapbox Vector Tile` を生成して `data/tiles.mbtiles` へ格納 -また、デフォルトではズームレベル 7 のタイルまでしか作成しないため(注: v3.12から以下の作業が必要無くなる予定です)、事前に `.env` にある`QUICKSTART_MAX_ZOOM`の値を変更しておく必要があります。 +また、デフォルトではズームレベル 7 のタイルまでしか作成しないため、事前に `.env` にある`QUICKSTART_MAX_ZOOM`の値を変更しておく必要があります。 ```bash vi .env @@ -91,34 +91,40 @@ vi .env ズームレベル14まで生成する場合は、差分は以下のようになります。 ```diff -@@ -4,5 +4,5 @@ - POSTGRES_HOST=postgres - POSTGRES_PORT=5432 - QUICKSTART_MIN_ZOOM=0 --QUICKSTART_MAX_ZOOM=7 -+QUICKSTART_MAX_ZOOM=14 - DIFF_MODE=false +diff --git a/.env b/.env +index 0ef9a89..6fafc98 100644 +--- a/.env ++++ b/.env +@@ -20,7 +20,7 @@ BBOX=-180.0,-85.0511,180.0,85.0511 + + # Which zooms to generate with make generate-tiles-pg + MIN_ZOOM=0 +-MAX_ZOOM=7 ++MAX_ZOOM=14 + + # `MID_ZOOM` setting only works with `make generate-tiles-pg` command. Make sure MID_ZOOM < MAX_ZOOM. + # See https://github.com/openmaptiles/openmaptiles-tools/pull/383 ``` あとは `quickstart.sh` を使ってタイルを作成します。 ```bash -./quickstart.sh {country_name} +./quickstart.sh {region}/{country_name} ``` 日本のデータを作成する場合は以下のように行います。 ```bash -./quickstart.sh japan +./quickstart.sh asia/japan ``` 作成可能な国名の一覧(geofabrickのミラーの一覧)は以下のコマンドで取得できます。 ```bash -make list +make list-geofabrik ``` -また、`quickstart.sh`実行後には `data/tiles.mbtiles` というファイルが作成されます。 +また、 `quickstart.sh` 実行後には `data/tiles.mbtiles` というファイルが作成されます。 ### タイルの再作成 @@ -126,6 +132,6 @@ make list ```bash cd openmaptiles -rm -fr data +git clean -dfx ./quickstart.sh japan ``` diff --git a/docs/prepare/docker.md b/docs/prepare/docker.md index 3396d03..90116e0 100644 --- a/docs/prepare/docker.md +++ b/docs/prepare/docker.md @@ -1,10 +1,9 @@ # Dockerのインストール 本ドキュメントでは多くの場面でDockerを使った処理を多く行います。 -そのため、事前にDocker及びdocker-composeを入れておく必要があります。 -なお、Raspberry Piについては現時点ではDockerのみで行います。 +そのため、事前にDocker及び Docker Compose V2 を入れておく必要があります。 -## Ubuntu +## Ubuntu or Debian aptコマンドでdockerをインストールし、サービスを起動します。 @@ -31,12 +30,14 @@ sudo usermod -aG docker $USER docker run hello-world ``` -最後にdocker-composeをインストールします。 +最後に Docker Compose V2 をインストールします。 ```bash sudo apt install curl -sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose +DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} +mkdir -p $DOCKER_CONFIG/cli-plugins +curl -SL https://github.com/docker/compose/releases/download/v2.32.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose +chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose ``` ## Mac @@ -49,9 +50,9 @@ sudo chmod +x /usr/local/bin/docker-compose docker run hello-world ``` -docker-composeコマンドはDocker Desktopに含まれます。 +Docker Compose V2 プラグインはDocker Desktopに含まれます。 -## Raspberry Pi (Rasbian OS) +## [Raspberry Pi (Raspberry Pi OS)](https://www.raspberrypi.com/software/) aptコマンドでdockerをインストールし、サービスを起動します。 @@ -60,6 +61,12 @@ sudo apt install docker.io sudo service docker start ``` +次にdocker自体が動作するかを確認します。 + +```bash +sudo docker run hello-world +``` + ## ディスクサイズ対策 クラウドなどの構成でrootデバイスに対して空き容量が足りない場合は、Dockerイメージを保存する場所を変更する必要があります。 @@ -80,7 +87,7 @@ sudo mkdir /mnt/docker 次に `/etc/docker/daemon.json` を作成します。 このファイルは基本となる設定から追加となる設定のみを記述します。 -今回は `graph` という値を作成します。 +今回は `data-root` という値を作成します。 ```bash sudo vim /etc/docker/daemon.json @@ -89,7 +96,7 @@ cat /etc/docker/daemon.json ```json { - "graph": "/mnt/docker" + "data-root": "/mnt/docker" } ```