services: martin: image: ghcr.io/maplibre/martin:latest container_name: rd13_martin ports: - "9982:3000" volumes: - ./data:/data - ./config/martin.yaml:/config/martin.yaml:ro command: ["--config", "/config/martin.yaml", "--webui", "enable-for-all", "--on-invalid", "warn"] restart: unless-stopped healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s tileserver: image: maptiler/tileserver-gl:latest container_name: rd13_tileserver ports: - "9983:8080" volumes: - ./config/tileserver.json:/data/config.json:ro - ./config/styles:/data/styles:ro - ./data/fonts:/data/fonts:ro - ./data/sprites:/data/sprites:ro - ./data/osm.mbtiles:/data/osm.mbtiles:ro - ./data/osm-europe.mbtiles:/data/osm-europe.mbtiles:ro - ./data/satellite.mbtiles:/data/satellite.mbtiles:ro restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:8080/health', r => process.exit(r.statusCode === 200 ? 0 : 1))"] interval: 30s timeout: 10s retries: 3 start_period: 30s depends_on: - martin