The open source geospatial server
Geospatial data,
published your way.
Publish maps, features, and tiles from PostGIS, DuckDB, and files through OGC API, WMS, WFS, and WMTS. Isolated workspaces and a console built in.
Bring the data
you already have.
One place to publish.
Room for every project.
From a local dataset to a shared geospatial service. Manage the details in the browser, or automate them through the API.
A console that gets you there.
Create a workspace, connect a store, and publish your first layer. Preview the result without leaving neoserver.
Meet the console
Your data, where it belongs
Connect PostGIS, DuckDB, files, and remote datasets. Feature data stays in its configured sources.
Explore data sourcesA workspace for every project
Keep connections, layers, styles, credentials, and service settings separated by workspace.
Understand workspacesAccess on your terms
Use scoped API keys, OIDC, workspace roles, and layer-level access controls.
Manage accessBuilt to operate
Tune resource limits, seed persistent tile caches, and export telemetry from your own infrastructure.
Deploy neoserverSpeak the same language
Open standards.
More ways to connect.
Serve the maps, features, coverages, and tiles your clients understand. Use QGIS, build a web map, or query an endpoint directly.
Explore conformance results| Service | What it delivers | Documentation |
|---|---|---|
| WMS 1.3.0 | Maps, styles, legends, and feature information | ↗ |
| WFS 2.0 | Feature queries, transactions, and locking | ↗ |
| WCS 2.1 / 2.0.1 | Raster coverages, formats, and subsetting | ↗ |
| WMTS 1.0 | Tile matrix sets and cached map tiles | ↗ |
| OGC API Features | Features, CRS, CQL2 filters, and queryables | ↗ |
| OGC API Tiles | Vector and raster tiles, TileJSON, and discovery | ↗ |
WFS supports 2.0.0 and 2.0.2; writes require PostGIS. Optional capabilities depend on service settings. Published test evidence is not OGC product certification.
From your first connection
to your first map.
A practical path through the console, with illustrated guides at every step.
Create a workspace
Give your project a home, with its own data catalogue and service settings.
Create your workspace →Connect your data
Test a PostGIS connection, open a file source, or upload a dataset.
Add a data source →Publish a layer
Discover the available data, choose a public identifier, and preview the result.
Publish your first layer →Connect a client
Set access, create a scoped key, and connect with QGIS or your application.
Make the connection →Use cases
Start from the data
you already have.
Step-by-step pages for common publishing jobs, in the console or through the API.
WMS from PostGIS and DuckDB
Styled maps with SLD, GetFeatureInfo, legends, and dimensions.
Read the guide →WFS from PostGIS and DuckDB
Feature queries, FES filters, GeoPackage export, and PostGIS transactions.
Read the guide →WCS raster coverages
PostGIS raster, GeoTIFF, NetCDF, and GRIB2 with subsetting and reprojection.
Read the guide →PostGIS as OGC API Features
Serve tables and views as GeoJSON with paging, bbox, CRS, and CQL2 filters.
Read the guide →Vector tiles from PostGIS
Mapbox Vector Tiles, TileJSON, and WMTS, with a shared persistent cache.
Read the guide →GeoParquet and DuckDB
Publish files and DuckDB databases, in place or uploaded, without a database server.
Read the guide →GeoTIFF and COG rasters
Styled maps through WMS, raw values through WCS, and cached map tiles.
Read the guide →Compare with other servers
How neoserver compares with GeoServer, MapServer, QGIS Server, pygeoapi, and Martin.
Read the guide →
Start on your machine.
Run on your terms.
Written in Go. Distributed as a Docker image. Follow the browser-first tutorial or take the API route.
DOCKER / LINUX AMD64
docker pull tobilg/neoserver:0.2.0
# Create a persistent catalog and save its key.
# Follow the guide for initialization and startup. Released images include the console and native geospatial libraries. The tutorial covers initialization, sample data, and your first sign-in.