services: #sets up how to make the source data available demo: tms: wmts: wms: srs: ['CRS:84', 'EPSG:4326', 'EPSG:3857'] layers: #sets up which layers you want to make available using the services above. You can add many, but let's stick to osm data here. - name: osm title: Open Streetmap Tiles sources: [osm_cache] #this layer should use the osm_cache (defined below) as it's source. caches: #setup the cache for the open streetmap tiles. This cache is used by the layer above. osm_cache: grids: [GLOBAL_WEBMERCATOR] bulk_meta_tiles: true sources: [osm_tiles] cache: type: sqlite directory: osmcache sources: osm_tiles: #the osm_tiles source refers to the openstreetmap.org tiles. These will be downloaded upon request (if not already cached) and served by MapProxy type: tile url: http://c.tile.openstreetmap.org/%(tms_path)s.%(format)s grid: osm_grid #the grid to use for the osm tiles. This is really important. It is specified below. grids: osm_grid: base: GLOBAL_WEBMERCATOR srs: EPSG:3857 origin: nw globals: #next are some global configuration options for MapProxy. They mostly explain themselves, or can be looked-up in the MapProxy docs. cache: # where to store the cached images base_dir: '/opt/mapproxy/cache_data' # where to store lockfiles lock_dir: '/opt/mapproxy/cache_data' # image/transformation options image: resampling_method: bilinear jpeg_quality: 90