MapTiler Engine in Docker
MapTiler Engine Pro plan includes a command-line utility that provides access to its full functionality from the terminal. The Enterprise plan lets you run it also in Docker and use it on basically any Linux distribution in a matter of a few simple commands. This article will show you how to do it.
MapTiler Engine
MapTiler Engine is a command-line interface for MapTiler Engine Pro. It gives you access to the full potential of the GUI application from the command line. This makes it possible to integrate MapTiler Engine into more complex geodata processing pipelines.
The bare minimum to render a map to a folder with MapTiler Engine is this command:
maptiler-engine -o output_directory input_file.ext
To process multiple files at once, just specify them one after another:
maptiler-engine -o output_directory input1.ext input2.ext input3.ext
Running maptiler-engine
without any arguments or using the -help
switch will print out all available usage options. For more details on advanced usage of MapTiler Engine, please have a look at the command reference guide.
Running in Docker
Alongside every release of MapTiler Engine, we also release a MapTiler Engine Docker image. This is a very convenient solution to using MapTiler Engine on cloud computing platforms such as Google Compute Engine or Amazon EC2, available in the Enterprise plan.
All released MapTiler Engine Docker images are available in the MapTiler Docker Hub repository.
Basic usage
The most basic command to run MapTiler Engine in Docker would look like this:
docker run -ti --rm -v $(pwd):/data maptiler/engine maptiler-engine -help
Running this command will print the MapTiler Engine usage help in your terminal. Let’s now break it down and explain its subsequent parts:
docker run
- creates a Docker container layer based on the specified image.-ti
- enables an interactive shell so you can usebash
inside the created container.--rm
- tells Docker to automatically remove the container upon exiting.-v $(pwd):/data
- maps the current working directory to the/data
directory inside the Docker container. This directory is writable, and all relative paths and bash autocomplete from your local machine are available. The rendering results will persist in the working directory when Docker exits.maptiler/engine
- the name of the Docker image. Providing just the image name will pull the latest version from the repository. In case you need to use an older version, use:<version>
after the image name. For example, to use version 11.2, typemaptiler/engine:11.2
.maptiler-engine -help
- this is where you provide the actual commands for MapTiler Engine.
Using your MapTiler Engine Enterprise license key
Executing the command as explained above will run MapTiler Engine in demo mode. Demo mode has all the features of the Enterprise version, but the output tiles will have an embedded watermark. To use your purchased MapTiler Engine Enterprise license key, you need to pass it to Docker using the MAPTILER_LICENSE
environment variable. This is done by adding the -e MAPTILER_LICENSE=<license_key>
parameter to the command.
A complete command to render a map from an input image would look like this:
docker run -ti --rm -v $(pwd):/data -e MAPTILER_LICENSE=<license_key> maptiler/engine maptiler-engine -o outputdir input.tif
For the time being, running MapTiler Engine in Docker supports only online activation via environment variable. The software will be automatically deactivated upon exiting.
Usage tip
To increase ease of use, you can create a bash
alias to run MapTiler Engine in Docker:
alias maptiler-engine="docker run -ti --rm -v $(pwd):/data -e MAPTILER_LICENSE=<license_key> maptiler/engine maptiler-engine"
Then, to process your geodata, just run:
maptiler-engine -o outputdir input.tif
Conclusion
In this article, we have presented MapTiler Engine and its basic usage. We have also shown you how to properly run MapTiler Engine in Docker and use your purchased MapTiler Engine Pro license with it.
Useful links
MapTiler Engine product page
MapTiler Engine Manual
MapTiler Docker Hub repository
Docker reference documentation
Related guides
- Add a basemap from MapTiler Cloud to MapTiler Engine
- Add a basemap from MapTiler Server to MapTiler Engine
- Amazon S3 map hosting
- Coordinate reference systems
- Custom map with OpenLayers for Drupal CMS
- Custom Retina scale
- Custom watermark
- Disabled network adapters
- Estimated rendering time
- Folder vs. MBTiles vs. GeoPackage