{"id":13425028,"url":"https://github.com/StationA/tilenol","last_synced_at":"2025-03-15T19:32:30.231Z","repository":{"id":49248148,"uuid":"135324487","full_name":"StationA/tilenol","owner":"StationA","description":"Scalable, multi-backend geo vector tile server","archived":false,"fork":false,"pushed_at":"2024-09-18T21:15:22.000Z","size":3585,"stargazers_count":22,"open_issues_count":17,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-04T20:14:17.422Z","etag":null,"topics":["elasticsearch","geospatial","mapbox-vector-tile","postgis"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StationA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-29T16:32:11.000Z","updated_at":"2024-09-17T23:35:09.000Z","dependencies_parsed_at":"2024-04-01T20:45:57.269Z","dependency_job_id":"8081f702-da2b-4621-ae2e-988c8d30aa70","html_url":"https://github.com/StationA/tilenol","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StationA%2Ftilenol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StationA%2Ftilenol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StationA%2Ftilenol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StationA%2Ftilenol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StationA","download_url":"https://codeload.github.com/StationA/tilenol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243781788,"owners_count":20347146,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elasticsearch","geospatial","mapbox-vector-tile","postgis"],"created_at":"2024-07-31T00:01:02.717Z","updated_at":"2025-03-15T19:32:29.866Z","avatar_url":"https://github.com/StationA.png","language":"Go","funding_links":[],"categories":["Go","Servers"],"sub_categories":[],"readme":"# tilenol [![GoDoc](https://godoc.org/github.com/StationA/tilenol?status.svg)](https://godoc.org/github.com/StationA/tilenol) [![Go Report Card](https://goreportcard.com/badge/github.com/stationa/tilenol)](https://goreportcard.com/report/github.com/stationa/tilenol) [![Build Status](https://api.travis-ci.com/StationA/tilenol.svg?branch=main)](https://travis-ci.com/StationA/tilenol) [![Docker Pulls](https://img.shields.io/docker/pulls/stationa/tilenol)](https://hub.docker.com/repository/docker/stationa/tilenol)\n\nTilenol is a scalable web server for serving geospatial data stored in\n[multiple supported backends](#supported-backends) as Mapbox Vector Tiles.\n\n## Installation\n\nNavigate to the root `tilenol/` directory (where the `Makefile` is located) and run:\n\n```\nmake install\n```\n\n## Usage\n\n### `tilenol`\n\n```\nusage: tilenol [\u003cflags\u003e] \u003ccommand\u003e [\u003cargs\u003e ...]\n\nFlags:\n  --help  Show context-sensitive help (also try --help-long and --help-man).\n\nCommands:\n  help [\u003ccommand\u003e...]\n    Show help.\n\n  run [\u003cflags\u003e]\n    Runs the Tilenol server\n\n  version\n    Prints out the version\n```\n\n### `tilenol run`\n\n```\nusage: tilenol run [\u003cflags\u003e]\n\nRuns the Tilenol server\n\nFlags:\n      --help                 Show context-sensitive help (also try --help-long and --help-man).\n  -d, --debug                    Enable debug mode\n  -f, --config-file=tilenol.yml  Server configuration file\n  -p, --port=3000                Port to serve tiles on\n  -i, --internal-port=3001       Port for internal metrics and healthchecks\n  -x, --enable-cors              Enables cross-origin resource sharing (CORS)\n  -s, --simplify-shapes          Simplifies geometries based on zoom level\n  -n, --num-processes=0          Sets the number of processes to be used\n```\n\n### Configuration\n\n```yaml\n# Cache configuration (optional)\ncache:\n  redis:\n    host: localhost\n    port: 6379\n    ttl: 24h\n# Layer configuration\nlayers:\n  - name: buildings\n    minzoom: 14\n    source:\n      elasticsearch:\n        host: localhost\n        port: 9200\n        index: buildings\n        geometryField: geometry\n        sourceFields:\n          area_sqft: building.area_sqft\n          height_ft: building.height_ft\n```\n\n### Docker\n\nTilenol is also available as\n[`stationa/tilenol` on DockerHub](https://hub.docker.com/repository/docker/stationa/tilenol). This\ncan be helpful when running in cloud environments or on Kubernetes:\n\n```bash\n# To run the Docker image on your machine, you can use the following:\n\ndocker run \\\n  --rm \\\n  -it \\\n  -p 3000:3000 \\\n  -v my-tilenol-conf.yml:/conf/tilenol.yml \\\n  stationa/tilenol \\\n  run -p 3000 -f /conf/tilenol.yml\n\n# Note that this will bind tilenol to your local port 3000, and requires a configuration file to be\n# mounted at the /conf/tilenol.yml path\n```\n\nCurrently, the Docker image tags are published according to the following scheme:\n\n- `vM.m.p` is the image built for the exact SemVer major/minor/patch version `M.m.p`, e.g. `v1.0.7`\n- `vM` is the latest image available for the given SemVer major version number `M`, e.g. `v1`\n- `latest` is the latest stable image available\n- `devel` is the latest unstable image available based on the last commit made to the `main` branch\n\nWe recommend you use either `vM` or `vM.m.p` where possible, though your appetite for risk may vary\nby use case.\n\n## Supported backends\n\nCurrently, tilenol supports the following data backends:\n\n- [Elasticsearch](examples/elasticsearch/)\n- [PostGIS](examples/postgis/)\n\n## QGIS support\n\nTilenol layers can also be viewed in GIS software such as QGIS.\n\nInstructions for adding a Tilenol layer to QGIS 3.16:\n\n1. Navigate to Layer \u003e Add Layer \u003e Add Vector Tile Layer\n1. Click on New, and then Create a New Generic Connection\n1. Configure the Connection Details, for example:\n1. Name: Places\n1. URL: http://localhost:3000/places/{z}/{x}/{y}.mvt\n1. Min.Zoom Level: 0\n1. Max.Zoom Level: 25\n\nExample screenshot, pointing QGIS to a locally running instance of Tilenol:\n\n![](Local_Tilenol_QGIS.png)\n\n1. Click OK and then Add\n1. You should be able to see the Tilenol places layer at appropriate zoom levels\n\n## Contributing\n\nWhen contributing to this repository, please follow the steps below:\n\n1. Fork the repository\n1. Submit your patch in one commit, or a series of well-defined commits\n1. Submit your pull request and make sure you reference the issue you are addressing\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStationA%2Ftilenol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FStationA%2Ftilenol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FStationA%2Ftilenol/lists"}