Offline maps & routing in one Docker stack

Corviont Maps runs a MapLibre UI, vector tiles, Valhalla routing, and a SQLite-based geocoder entirely offline on your edge devices or on-prem, and it is designed to stay fresh via a local map updater.

Questions? Contact us anytime at hello@corviont.com
bash
# Get the Monaco demo running locally

$ git clone https://github.com/corviont/monaco-demo.git
$ cd monaco-demo
$ export CORVIONT_PORT=3000
$ docker compose up -d
# Then open http://localhost:3000 in your browser
Device frame

What you get in the stack

The Monaco demo is the full Corviont Maps stack in miniature: a MapLibre UI talking to local APIs for tiles, routing, and geocoding - all running in Docker on your machine or edge device. 

  • 🗺️ Vector tiles

    Monaco packaged as a single PMTiles file, served locally with no external tile servers. 

  • 🚦 Routing

    Valhalla container exposing an HTTP API for offline routing between arbitrary points.

  • 📍 Search

    SQLite database built from Nominatim data, powering forward and reverse geocoding via a lightweight API.

  • 🖥️ UI

    MapLibre frontend wired to these local endpoints.

Where this fits

Corviont Maps is built for devices that can’t rely on a fast, cheap, always-on connection.

🏭 Edge & industrial devices

Run on industrial PCs, gateways, or embedded boxes so maps and routing keep working even when the WAN link is slow or down.

🚢 Remote and offshore deployments

Install on vessels and remote sites with intermittent or satellite-only connectivity so tiles, routing, and search stay instant and local.

đźšš Field fleets & mobile units

Use in vehicles and temporary field setups where devices go offline or change networks, without breaking your app’s map & routing UX.

️🛡️ Privacy and compliance-sensitive environments

Keep location queries and routes inside your own network; all map, routing, and geocoding requests terminate on your devices.

What we’re building next

The Monaco demo is the first step. It’s the same architecture we’ll use for larger regions and real fleets - here’s what’s on the way:

đź§© Local map updater

A small background service that pulls new map bundles, verifies them, and switches the active dataset without downtime.

đź—‚ Custom overlays

Load your own POIs, geofences, or operational layers (GeoJSON) on top of the base map, rendered directly in the UI.

📍 Richer geocoding output

Better address results with house numbers, and optional geometry for streets and areas (not just centrepoints) in forward and reverse search.

đź§± More edge platforms & targets

First-class integrations for Portainer and Mender, plus deployment examples for K3s/Kubernetes and edge runtimes on AWS and Azure.

If any of these are critical for you, or if something important to your use case isn’t listed here, tell us in the form below. Your input directly influences what we build first.

Get updates & steer roadmap

Only your email is required to get updates. If you’d like a better chance at early access to your regions and features, you can also tell us a bit about your setup and what you need – we use this to prioritise what we build next.

âś”
Error. Your form has not been submittedEmoji
This is what the server says:
There must be an @ at the beginning.
I will retry
Reply
If you prefer to just email instead, contact us at hello@corviont.com

❓Frequently Asked Questions

Built on Unicorn Platform