Skip to content

Your data. Your server. Your map.

GeoDeploy is an open-source, self-hosted spatial data platform and geoportal builder. Upload your data, style it, and publish a map anyone can use — with your own domain, your own storage, and no per-seat pricing.

Try the demo Get started See what it publishes

No sign-up — join with a name and you can upload, style and publish. Everything is wiped hourly.

curl -fsSL https://raw.githubusercontent.com/bravemaster3/geodeploy/main/installer/install.sh | bash

A published GeoDeploy web map

A published portal. Your layers, your branding, its own URL — nothing for visitors to install.

One command installs the whole stack on a single Linux server: a spatial database, object storage, vector and raster tile services, a web dashboard, and the portals you publish from it. A setup wizard handles the rest.

Try it without installing anything

geodeploy-demo.kndev.org is a live GeoDeploy. Join with a name — no email, no password — and you can upload data, style it, and publish a portal.

Two things to know before you do: everyone trying it shares one workspace, so treat anything you put there as public and changeable by others; and the whole instance is wiped every hour, on the hour, so nothing you build survives. It runs the same code this page tells you how to install, with demo mode switched on.

Three kinds of portal

The experience you choose changes the shape of the page, not just its colours.

Web map portal

**Web map** — map-first, with a layer list beside it. For when the map is the point.

Story map portal

**Story map** — scrollytelling. Each section is pinned to a camera and a set of layers.

Catalog portal

**Catalog** — search and facets beside the map, for more datasets than one map should hold.

How portals work

Get your data in

Shapefile, GeoPackage, GeoJSON, CSV, GeoParquet and GeoTIFF. Large files upload straight to object storage, so a multi-gigabyte dataset is not a special case.

Uploading data

Drag a file in. Validation, reprojection and tiling happen in the background.

My Data

Everything you have, with its status, size and storage backend.

Uploading data

Describe it once, publish it everywhere

Fill in an abstract, keywords and a licence, and that metadata drives portal search, the About page, and the open standards other tools read.

Layer metadata

Catalog metadata per layer, and the access links that come with it.

Portal About page

A documentation page published beside the map.

Shared layers are readable by standard clients over OGC API - Features, STAC, Cloud-Optimized GeoTIFF, PMTiles and GeoParquet — so QGIS, Python and R consume them directly, with no export step.

Access from other tools

Or with a terminal, if you prefer one

pip install geodeploy
geodeploy login https://your-instance.org --token gdp_…
geodeploy upload roads.gpkg sites.csv dem.tif --wait
geodeploy portals create "Field sites 2026" --publish

Everything the dashboard does, scriptable: uploads of any size, data-driven symbology, portals, publishing, the public catalog, and instance administration. No dependencies and Python 3.9+, so it is also the client the QGIS plugin vendors as-is.

The command line

Run it without a terminal

Service logs, backups to a separate destination, an in-app restore, and one-button updates.

Infrastructure panel

Every service, its logs, and its state.

Updates

Check for a new version and update in place.

Activity log

Who changed what, kept even after an account is removed.

Updating Backups and restore

Work as a team

Roles from viewer to owner, per-layer visibility, invitation links and scoped API tokens.

User management

Invite by link — no mail server required.

Users, roles and sharing

Open source, and yours to run

GeoDeploy is open source. You can read every line, change it, and run it wherever you like — there is no paid tier that unlocks features, and no arrangement where your data lives somewhere you do not control.

A hosted GeoDeploy Cloud is coming for people who would rather not run a server themselves, or who only need a handful of layers and would rather share the hosting cost than pay for a whole VPS. It changes nothing here: the project stays open source, and self-hosting stays the full product.

Runs on a small server

4 GB of RAM is a comfortable recommendation, and two CPU cores are plenty — a real instance runs happily there, tiling included. 2 GB works too: the same stack has been tested on a 2 CPU / 2 GB VPS and runs well. Whatever the size, give the machine some swap — most cloud images have none, and building the dashboard during an update needs far more memory than running it does. Disk depends on your data rather than on GeoDeploy, and you can point it at S3-compatible storage so capacity is never a server decision. Everything is Docker Compose behind nginx: one thing to start, one thing to update.

If you want to… Read
Install it and publish something Getting started
Understand the portal types Portals and experiences
Get your data into QGIS or DuckDB Access from other tools
Work in QGIS and publish back The QGIS plugin
Script against it API reference
Keep it backed up Backups and restore
Tune it for heavy layers Performance tuning
See what is planned Roadmap
Check the licence Apache 2.0