finds.dev← search

// the find

GeoNode/geonode

★ 1,681 · Python · NOASSERTION · updated Jun 2026

GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.

GeoNode is a Django-based spatial data infrastructure platform that wraps GeoServer and PostGIS to provide a web UI for uploading, publishing, and sharing geospatial datasets. It's aimed at government agencies, NGOs, and research institutions that need a self-hosted geoportal without building one from scratch. Think 'GitHub for GIS data' with metadata management and access controls.

- Mature OSGeo-backed project with real production deployments worldwide, not a weekend experiment — the showcase gallery shows actual government and UN deployments.

- Docker Compose setup with the create-envfile.py script is genuinely useful; handles SSL cert provisioning, random secret generation, and dev/test/prod environment differentiation in one place.

- GeoServer integration via OAuth2 for unified auth means you get WMS/WFS/WCS endpoints for free on every uploaded dataset, which is non-trivial to wire up yourself.

- Celery-based async processing for data ingestion means large file uploads don't block the web process, and the harvesting subsystem lets you pull in remote OGC services.

- The dependency stack is heavy and fragile: Django + GeoServer (Java) + PostGIS + Celery + Redis + Nginx all need to be running correctly, and the OAuth2 dance between Django and GeoServer breaks in non-obvious ways when any piece is misconfigured.

- GeoServer is still the rendering backend, which means you inherit all of GeoServer's operational complexity (JVM tuning, SLD styling, GeoFence rules) — there's no path to a lighter tile server for simpler use cases.

- Customization via the geonode-project template works in theory, but the Django template inheritance and override patterns are poorly documented, and core upgrades frequently break downstream customizations.

- The frontend is a mix of legacy server-rendered templates and MapStore2 (a React/OpenLayers app), making UI customization require knowledge of two completely different stacks simultaneously.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →