There are several ways to install and run Tileserver RS.
The easiest way to install on macOS:
# Add the tap and install
brew tap vinayakkulkarni/tileserver-rs https://github.com/vinayakkulkarni/tileserver-rs
brew install vinayakkulkarni/tileserver-rs/tileserver-rs
# Run the server
tileserver-rs --config config.toml
Download the latest release from GitHub Releases.
curl -L https://github.com/vinayakkulkarni/tileserver-rs/releases/latest/download/tileserver-rs-macos-arm64.tar.gz | tar xz
chmod +x tileserver-rs
# Remove macOS quarantine (required for unsigned binaries)
xattr -d com.apple.quarantine tileserver-rs
# Run
./tileserver-rs --config config.toml
curl command above, or after downloading, run xattr -d com.apple.quarantine tileserver-rs to remove the quarantine flag. Alternatively, right-click the binary in Finder and select "Open".The easiest way to get started is using Docker:
docker pull ghcr.io/vinayakkulkarni/tileserver-rs:latest
docker run -p 8080:8080 \
-v /path/to/your/tiles:/data:ro \
-v /path/to/config.toml:/app/config.toml:ro \
ghcr.io/vinayakkulkarni/tileserver-rs:latest
Create a compose.yml file:
services:
tileserver:
image: ghcr.io/vinayakkulkarni/tileserver-rs:latest
ports:
- "8080:8080"
volumes:
- ./data:/data:ro
- ./config.toml:/app/config.toml:ro
environment:
- RUST_LOG=info
Then run:
docker compose up -d
Native raster tile rendering uses MapLibre Native (C++). If you don't need raster tiles, the server runs without it.
macOS:
# Install build dependencies
brew install ninja ccache libuv glfw bazelisk cmake
# Build MapLibre Native
cd maplibre-native-sys/vendor/maplibre-native
git submodule update --init --recursive
cmake --preset macos-metal
cmake --build build-macos-metal --target mbgl-core mlt-cpp -j8
Linux (Ubuntu/Debian):
# Install build dependencies
apt-get install ninja-build ccache libuv1-dev libglfw3-dev cmake
# Build MapLibre Native
cd maplibre-native-sys/vendor/maplibre-native
git submodule update --init --recursive
cmake --preset linux
cmake --build build-linux --target mbgl-core mlt-cpp -j8
git clone https://github.com/vinayakkulkarni/tileserver-rs.git
cd tileserver-rs
cargo build --release
bun install
bun run build:client
./target/release/tileserver-rs --config config.toml