GratisGIS
Sign in

GratisGIS

Sign in

Open source GIS portal

A self-hosted portal, a field PWA, and QGIS

GratisGIS is for teams that want their data on their own hardware and want out of ArcGIS Online seat licenses. What is credible today is the portal, sharing, field collection, and QGIS. It is not a full ArcGIS Online replacement, and it is not a drop-in for Experience Builder, Survey123, Field Maps, or enterprise identity depth. Built on open components (PostGIS, MapLibre, Keycloak). No license fees; your only cost is the hardware (or cloud bill) you choose to run it on.

Dashboards ship as web-app layouts (KPI Dashboard and Operations Board). Dedicated document report templates are not built. Tool recipes exist; a node-graph builder does not.

  • Self-hosted on your own hardware

    PostGIS-backed datasets, web maps, and forms; bring data in from shapefiles, GeoJSON, GDB, or any OGR-supported format. Docker compose, single-command deploy, runs on a $20/month VPS. No license fees, no SaaS lock-in.

  • First-class QGIS support

    An official plugin in the QGIS plugin repository: browse and search the portal, publish layers and whole projects from the canvas, take a layer to the field, and sync edits back. No plugin? Rasters appear in QGIS's built-in catalog browser and layers open over standard APIs, with an API key for private content.

  • Field-ready PWA

    A data-collection app that installs to the home screen, works offline, and syncs when you're back online.

  • Works with the tools you already use

    OGC API Features, Tiles, Styles, and Records; a STAC catalog; CSW 2.0.2; Schema.org JSON-LD; WMS / WFS service references. WebMap JSON export points at the portal's own layer URLs. Whether ArcGIS Pro, ArcGIS Online, or QGIS open that file depends on the importing tool. Importing a WebMap JSON file keeps FeatureServer URLs as live references; copying hosted features into the portal is a separate stage step.

Operational features the portal ships with

  • Housekeeping that runs itself

    Stale items get flagged. Inactive users get auto-disabled. Expiring shares trigger warnings. Spatial extents get recomputed on a schedule. Admins get a dashboard, not a backlog.

  • Sync that doesn't lose your work

    Offline edits go to a per-edit queue with isolated retries. A bad row doesn't poison the rest. Schema changes notify every device that has cached the deployment so the field crew rebuilds before they next sync.

  • Email notifications you actually control

    Built-in templates for shares, expirations, schema changes, form submissions, and field captures. Org admins customize the copy through a guided editor with click-to-insert variables. Routed through one SMTP, not a sprawl of webhooks.

  • Sharing granularity that makes sense

    Share an item with a user, a group, or a folder. Folder shares cascade to every item in the folder. Per-share row scope ('all' vs 'own') and geographic clip (polygon) layer on top. View / download / edit / admin tiers, not a single 'shared' bit.

View on GitHubSend feedbackDiscussionsSend feedback goes to the maintainer's inbox; no account required. Discussions is the GitHub place for longer threads.
  • Photos and files in map popups

    A map popup can show a feature's photos, signatures and files, as a gallery of thumbnails or as a list. Popups for form submissions no longer show "[object Object]" for locations, photos and signatures.

  • Dates that start at today

    A date or time question in a form can start with the current date and time already filled in. Respondents can still change it.

  • Edit and delete features in the field app

    In the field app, tap a feature to zoom to, edit, copy or delete it. Drag its shape on the map, place a point by hand or by GPS, and add, edit or delete its related records without leaving the form. It all works offline and syncs later. The compass can turn the map with the way you face.

  • Permanently deleting large layers works

    Permanently deleting a data layer from Recently deleted failed for large layers and left their data behind. It now finishes, however big the layer is.

  • File imports work again

    In 1.4.0, importing a file from the new item wizard failed with "The portal API could not be reached" right after the upload finished. Imports, exports and backup restores now go through again.

GratisGIS v0.9.117-643-g5c27c01b · Built on