mirror of
https://github.com/maplibre/martin.git
synced 2024-12-21 05:41:55 +03:00
2.5 KiB
Executable File
2.5 KiB
Executable File
Martin
Martin is a PostGIS Mapbox Vector Tiles server written in Rust using Actix web framework.
Installation
You can download Martin from the Github releases page.
If you are running macOS and use Homebrew, you can install Martin using Homebrew tap.
brew tap urbica/tap
brew install martin
Usage
Martin requires a database connection string. It can be passed as a command-line argument or as a DATABASE_URL
environment variable.
martin postgres://postgres@localhost/db
Martin also supports a list of options
Usage:
martin [options] [<connection>]
martin -h | --help
martin -v | --version
Options:
-h --help Show this screen.
-v --version Show version.
--workers=<n> Number of web server workers.
--pool_size=<n> Maximum connections pool size [default: 20].
--keep_alive=<n> Connection keep alive timeout [default: 75].
--listen_addresses=<n> The socket address to bind [default: 0.0.0.0:3000].
--config=<path> Path to config file.
Environment variables
You can configure martin with environment variables
Environment variable | Example | Description |
---|---|---|
DATABASE_URL | postgres://postgres@localhost/db | postgres database connection |
DATABASE_POOL_SIZE | 20 | maximum connections pool size |
WORKER_PROCESSES | 8 | number of web server workers |
KEEP_ALIVE | 75 | connection keep alive timeout |
Using with Docker
You can use official Docker image urbica/martin
docker run \
-p 3000:3000 \
-e DATABASE_URL=postgres://postgres@localhost/db \
urbica/martin
Building from source
You can clone repository and build Martin using cargo package manager.
git clone git@github.com:urbica/martin.git
cd martin
cargo build --release
The binary will be available at ./target/release/martin
cd ./target/release/
./martin postgres://postgres@localhost/db
Development
Install project dependencies and check that all the tests run
cargo test
cargo run