de69f3bbff
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.53 to 0.10.54. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sfackler/rust-openssl/releases">openssl's releases</a>.</em></p> <blockquote> <h2>openssl-v0.10.54</h2> <h2>What's Changed</h2> <ul> <li>Remove converting PKCS#8 passphrase to CString by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/1941">sfackler/rust-openssl#1941</a></li> <li>Version bump for openssl v0.10.54 release by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/1942">sfackler/rust-openssl#1942</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.53...openssl-v0.10.54">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.53...openssl-v0.10.54</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
---|---|---|
.cargo | ||
.cargo-husky/hooks | ||
.github | ||
benches | ||
demo | ||
docs | ||
homebrew-formula | ||
martin-mbtiles | ||
martin-tile-utils | ||
src | ||
tests | ||
.dockerignore | ||
.gitignore | ||
arm64.Dockerfile | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
docker-compose.yml | ||
Dockerfile | ||
justfile | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
logo.png | ||
nginx.conf | ||
README.md | ||
release.toml | ||
rustfmt.toml | ||
SECURITY_POLICY.txt |
Martin
Martin is a tile server able to generate and serve vector tiles on the fly from large PostGIS databases, PMTile, and MBTile files, allowing multiple tile sources to be dynamically combined into one. Martin optimizes for speed and heavy traffic, and is written in Rust.
See Martin book for complete documentation.
Requirements
If using Martin with PostgreSQL database, you must install PostGIS with at least v3.0+, v3.1+ recommended.
Installation
You can download martin from GitHub releases page.
Platform | Downloads (latest) |
---|---|
Linux | 64-bit |
macOS | 64-bit |
Windows | 64-bit |
If you are using macOS and Homebrew you can install martin using Homebrew tap.
brew tap maplibre/martin https://github.com/maplibre/martin.git
brew install maplibre/martin/martin
You can also use official Docker image, and share configuration file from the host with the container via the -v
param. Config file is optional - you can let Martin auto-discover all sources e.g. by passing DATABASE_URL
only.
export PGPASSWORD=postgres # secret!
docker run -p 3000:3000 \
-e PGPASSWORD \
-e DATABASE_URL=postgresql://user@host:port/db \
-v /path/to/config/dir:/config \
ghcr.io/maplibre/martin --config /config/config.yaml
Usage
Martin supports any number of PostgreSQL/PostGIS database connections with geospatial-enabled tables and tile-producing SQL functions, as well as PMTile and MBTile files as tile sources.
Martin can auto-discover tables and functions using a connection string. A PG connection string can also be passed via the DATABASE_URL
environment variable.
Each tile source will have a TileJSON endpoint.
Examples
# publish all tables and functions from a single database
export DATABASE_URL=postgresql://user:password@host:port/database
martin
# same as above, but passing connection string via CLI, together with a directory of .mbtiles/.pmtiles files
martin postgresql://user:password@host:port/database path/to/dir
# publish all discovered tables/funcs from two DBs
# and generate config file with all detected sources
martin postgres://... postgres://... --save-config config.yaml
# use configuration file instead of auto-discovery
martin --config config.yaml
API
Martin data is available via the HTTP GET
endpoints:
URL | Description |
---|---|
/ |
Status text, that will eventually show web UI |
/catalog |
List of all sources |
/{sourceID} |
Source TileJSON |
/{sourceID}/{z}/{x}/{y} |
Source Tiles |
/{sourceID1},...,{nameN} |
Composite Source TileJSON |
/{sourceID1},...,{nameN}/{z}/{x}/{y} |
Composite Source Tiles |
/health |
Martin server health check: returns 200 OK |
Documentation
See Martin book for complete documentation.