First, download a GeoTIFF to test SimpleWMTS on. You can try the Natural Earth GeoTIFF available here.
wget http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/raster/HYP_50M_SR_W.zip
unzip HYP_50M_SR_W.zip
mkdir ~/geotiffs && mv HYP_50M_SR_W/HYP_50M_SR_W.tif ~/geotiffs
Second, clone this repository to your local machine.
git clone https://github.com/KhaledSharif/SimpleWMTS.git simple-wmts
cd simple-wmts
Third, build and run the Docker container. As is, the container will start off with a minimal Leaflet UI.
docker build -f docker/Dockerfile.leaflet -t simplewmts:leaflet .
docker run -v ~/geotiffs:/geotiffs -p 7000:8080 simplewmts:leaflet
You may have to wait a while the container downloads dependencies required for the frontend. Once everything is ready, you will see the following line of output.
* Running on http://0.0.0.0:4815/ (Press CTRL+C to quit)
Success! Now visit the UI by going to http://localhost:7000
in your browser. Every GeoTIFF you added to the geotiffs
folder in your home directory will appear as a button at the top of the UI; click on that button to change Leaflet's base layer to that GeoTIFF file.
You can also use OpenLayers or Cesium as your minimal UI instead of Leaflet. See Dockerfile.openlayers
and Dockerfile.cesium
for more details. If you only need the SimpleWMTS API without nginx
or any UI inside the container, see Dockerfile.barebones
.