Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 2.09 KB

File metadata and controls

80 lines (56 loc) · 2.09 KB

Docker Usage

The mbutil Docker image provides mb-util as its entrypoint. Mount a volume at /data containing your input file(s); output is written there as well.

Quick Start

docker pull wifidb/mbutil

Basic Conversions

# MBTiles → PMTiles
docker run -v $(pwd):/data wifidb/mbutil world.mbtiles world.pmtiles

# PMTiles → MBTiles
docker run -v $(pwd):/data wifidb/mbutil world.pmtiles world.mbtiles

# MBTiles → disk (tile directory)
docker run -v $(pwd):/data wifidb/mbutil world.mbtiles tiles/

# Disk (tile directory) → MBTiles
docker run -v $(pwd):/data wifidb/mbutil tiles/ world.mbtiles

# PMTiles → disk
docker run -v $(pwd):/data wifidb/mbutil world.pmtiles tiles/

# Disk → PMTiles
docker run -v $(pwd):/data wifidb/mbutil tiles/ world.pmtiles

With Options

# PMTiles → MBTiles with tile deduplication
docker run -v $(pwd):/data wifidb/mbutil --do_compression world.pmtiles world.mbtiles

# Dump metadata to terminal
docker run -v $(pwd):/data wifidb/mbutil world.pmtiles dumps
docker run -v $(pwd):/data wifidb/mbutil world.mbtiles dumps

Large Files (Temp Directory)

For large conversions (multi-GB files), the PMTiles writer uses a temporary file during processing. By default this goes to /tmp inside the container. To ensure enough disk space and better I/O performance, you can mount a host directory at /tmp:

docker run \
  -v $(pwd):/data \
  -v /mnt/fast-disk/tmp:/tmp \
  wifidb/mbutil world.mbtiles world.pmtiles

Input and Output in Different Directories

If your input and output are on different paths, mount them separately and use absolute paths:

docker run \
  -v /source/tiles:/source \
  -v /output/tiles:/output \
  wifidb/mbutil /source/world.mbtiles /output/world.pmtiles

Specific Version

docker run -v $(pwd):/data wifidb/mbutil:v0.4.0 world.mbtiles world.pmtiles

Building Locally

# Initialize submodules first (required for PMTiles support)
git submodule update --init --recursive

docker build -t mbutil .
docker run -v $(pwd):/data mbutil world.mbtiles world.pmtiles