Sitemap
Eduard Kazakov

Eduard Kazakov

Geoinformatics and Earth Remote Sensing

From desktop GIS to team collaboration: setting up a shared QGIS workspace

12 min readMay 28, 2026

--

Modern organizations accumulate enormous amounts of geospatial data. Satellite imagery, field surveys, infrastructure inventories, environmental observations, cadastral layers... All of it eventually ends up inside QGIS projects. Over time, these projects become increasingly sophisticated: hundreds of layers, complex symbology, multi-scale rendering, forms, editing constraints.

Press enter or click to view image in full size
Typical QGIS project: dozens of layers with complex symbology

At the same time, this data rarely belongs to a single person anymore. Analysts, field teams, cartographers, researchers, and decision-makers all need access to the same datasets and maps. Some users edit data continuously, others only consume published results, while administrators must ensure that everything remains organized, secure, and manageable.

In many teams, dozens of people contribute edits simultaneously using QGIS as the primary desktop GIS interface. New information constantly flows into the database from satellite imagery interpretation, aerial surveys, field collection, and operational updates. The challenge is building a sustainable collaborative environment where multiple users can work together without losing the advantages of QGIS itself.

Even smaller teams face similar problems. A single specialist working from multiple locations, or a distributed group collaborating remotely, still needs a reliable way to access projects, synchronize edits, preserve styles and settings, and continue working from any computer without manually copying files between machines.

Shared QGIS workspace becomes essential.

Press enter or click to view image in full size
Shared QGIS workspace

In this article, we will build such an environment using QGIS and the open-source GIS server NextGIS Web. We will go through the full workflow: deploying a self-hosted collaborative GIS platform, managing users and permissions, publishing QGIS projects, organizing shared access to data, enabling simultaneous editing, and exploring advanced capabilities such as version history and conflict resolution.

NextGIS Web deployment and setup

We will use NextGIS Web, a mature open-source Web GIS solution designed to work closely with QGIS. It fully supports QGIS styles for data symbology and includes a QGIS plugin, NextGIS Connect, which integrates web and desktop environments.

Press enter or click to view image in full size
NextGIS Web core capabilities

Why NextGIS Web

The open-source GIS ecosystem offers a wide range of proven components for building geospatial infrastructure, for example PostGIS for spatial storage, GeoServer and MapServer for publishing services, or MapStore for web interfaces. In many deployments, these tools are combined into a custom GIS stack, where each component is responsible for a separate part of the workflow.

NextGIS Web (NGW) follows a different philosophy. Instead of assembling multiple independent services, it provides a unified Web GIS platform that combines spatial data storage, user and permission management, service publishing, and an integrated web map engine within a single system.

Developed as an open-source project for more than 12 years, NGW is designed with strong native integration with QGIS, enabling seamless collaboration between desktop and web environments. It also fully supports QGIS styles for vector and raster datasets, ensuring visual consistency between QGIS and the web interface.

Deployment is simplified through the official Docker-based distribution, allowing teams to launch a fully functional Web GIS instance in minutes.

Source code and prerequisites

An easily deployable NGW build is available in the repository:

https://github.com/nextgis/nextgisweb_ce

You can deploy it on any machine with x86–64 architecture and an operating system with Docker support. For this tutorial, I will use a simple low-cost VPS server with a public IP address for public access. Alternatively, you can deploy it locally or on a dedicated server.

The VPS server I use has the following configuration:

  • 2 CPU cores
  • 4 GB RAM
  • 50 GB SSD
  • Ubuntu 24.04

I assume you have root SSH access to the host.

Prepare the server

SSH into the server:

ssh root@your-server-ip

Update the packages:

apt update && apt upgrade -y

Install Docker:

curl -fsSL https://get.docker.com | sh

Install the Docker Compose plugin:

apt install docker-compose-plugin -y

Check that you have Docker Compose version 2.x:

docker --version
docker compose version

Run the NextGIS Web stack

Create a folder for NextGIS Web and navigate to it:

mkdir /srv/ngw_ce
cd /srv/ngw_ce

Create a /srv/ngw_ce/.env file:

IMAGE_VERSION=26.04.0

The version should match the one available in the repository.

Create the Docker Compose file /srv/ngw_ce/docker-compose.yaml:

services:
app:
image: nextgis/nextgisweb-ce:$IMAGE_VERSION
command: server
environment:
NEXTGISWEB__CORE__LOCALE__DEFAULT: "en"
ports:
- 8080:8080
volumes:
- data:/opt/crater/data
- backup:/opt/crater/backup
restart: unless-stopped
volumes:
data:
backup:

Pay attention to the environment section. General configuration of NextGIS Web is managed through environment variables.

Finally, run the stack:

docker compose up -d

Open:

http://YOUR_IP:8080

You should see the NextGIS Web authorization screen.

Press enter or click to view image in full size
NextGIS Web authorization screen

Now we will use it as-is. You can find a more comprehensive example of sustainable deployment with HTTPS encryption and domain configuration in the article: Deploy your own open-source Web GIS server instance on a VPS in 15 minutes with Docker.

Setting up NextGIS Web

The first thing to do after NGW deployment is to change the password and configure the basics.

Authenticate using the default credentials:

  • login: administrator
  • password: admin

You will find yourself in the NGW administrative interface.

Press enter or click to view image in full size
NextGIS Web administrative interface

Pay attention to the current URL (1):

http://YOUR_IP:8080/resource/0

In NGW, everything is a resource, and currently you are viewing resource 0.

This is a Resource Group (folder) owned by Administrator. Here we can see:

  • The current resource metadata (2);
  • a list of resources located inside the current resource (3), by default only the “Main web map” resource exists;
  • the “Create resource” button (4);
  • available actions for the current resource (5);
  • the user menu and side menu in the top-right corner (6).

Open the side menu and access the Control Panel.

Side menu

Inside the Control Panel, we can manage all aspects of the Web GIS. Let’s first change the administrator password.

Go to the Users section, open the Administrator account, and switch to edit mode.

Press enter or click to view image in full size
Edit selected user

Here we can assign a new password:

Press enter or click to view image in full size
Assigning a new user password

Other users will be managed through the same interface, so we’ll return to it later.

We can also customize the Web GIS name and logo using:

  • Settings -> Web GIS name
  • Settings -> Custom logo

After these changes, the main page of the Web GIS administrative interface looks like this:

Press enter or click to view image in full size
NextGIS Web after name and icon change

If we click the Create resource button, we can see the capabilities of NextGIS Web and the types of resources it supports:

  • vector and raster layers;
  • web maps;
  • S3 raster storages;
  • external service connections;
  • OGC services;
  • PostGIS connections;
  • and more.
Press enter or click to view image in full size
List of available resources

It is possible to manage everything directly from the web interface, but in this article we focus primarily on QGIS workflows.

Publish a QGIS project to the Web

Project overview

We will work with a QGIS project containing data for the city of Płock in Poland.

You can download it here:
https://ekazakov.me/content/files/2026/05/Plock.zip

Press enter or click to view image in full size
Plock QGIS project

The project is relatively compact, but it includes complex multi-scale symbology, including:

  • clustered point rendering;
  • expression-based colors and symbol sizes;
  • rule-based labeling.

It also contains several raster layers:

  • a Sentinel-2 RGB image;
  • a georeferenced raster with Płock districts.
Press enter or click to view image in full size

One of the layers (crossroads) also uses custom field forms. We want to preserve all these settings for collaborative work.

Press enter or click to view image in full size
Attributes form settings in QGIS

Installing NextGIS Connect

To publish the project to our Web GIS, we need to install the NextGIS Connect plugin. It is available in the QGIS Plugin Repository:

Get Eduard Kazakov’s stories in your inbox

Join Medium for free to get updates from this writer.

Plugins -> Manage and Install Plugins -> All

Press enter or click to view image in full size
NextGIS Connect in the Plugins Manager

After installation, the plugin becomes available in the Web menu. Open the NextGIS Connect panel.

Press enter or click to view image in full size

Establish a connection and publish the project

Now we need to establish a connection with our deployed Web GIS instance. Press the Create a connection (1) button in the NextGIS Connect panel, specify your Web GIS domain or IP address (2), and create a new authentication record (3) using your Web GIS credentials (4).

Press enter or click to view image in full size

After that, you will see the resource tree of your Web GIS inside the NextGIS Connect panel.

Press enter or click to view image in full size

Select the Main Resource Group (the folder where we want to publish the project), open the Add to Web GIS menu, and choose Upload all.

Specify the project name, Plock.

Project export starts immediately. Layer by layer and style by style, everything is imported into the internal storage of your Web GIS.

Once the export is complete, a web map is created automatically, and all project components appear as Web GIS resources.

Press enter or click to view image in full size

We can publish as many projects as needed this way.

The web map can be opened either by double-clicking it in NextGIS Connect or through the Web GIS interface.

Explore the published web map

The web map has its own shareable URL and displays the data exactly as configured in QGIS.

Press enter or click to view image in full size
Published web map

Web maps provide many tools for working with data:

  • feature identification;
  • filtering using complex expressions;
  • attribute inspection;
  • coordinate retrieval;
  • measurement tools;
  • printing layouts.

An unlimited number of files can be attached to each feature, while photos and panoramas can be viewed directly inside the web map.

Press enter or click to view image in full size
Feature attachments management

Web maps are an excellent way to share projects with people who do not use QGIS but still need to monitor activity and make simple edits through a browser.

For now, however, web maps are not our primary focus. We will mainly use them to reconstruct the original QGIS project for our team members.

Before proceeding further, we need to create a team.

Create users and configure permissions

We already saw the Users and Groups management section in the Web GIS Control Panel. Let’s return there and create several users.

Press enter or click to view image in full size

In the user creation interface, I configure Full name, Login and Password. Optionally, I can also add the user to groups, specify the default language and add a description.

Press enter or click to view image in full size

I created two users:

  • Gregory Watson (gregory), collaborator with editing permissions;
  • Claudio Nevez (claudio), read-only manager.

Users can be modified at any time.

The next step is configuring permissions. The permission system in NextGIS Web is highly flexible. Permissions are rule-based and can be applied to any individual resource (maps, layers, services, connections, folders…)

Return to the Main Resource Group and open its editing mode.

Press enter or click to view image in full size

In the resource editing interface, open the Permissions tab.

Press enter or click to view image in full size

This tab is available for every resource and allows creation of Allow/Deny rules. For simplicity, we will configure permissions directly at the root level.

I create one rule allowing Gregory full access to the root folder and all subresources; and several rules granting Claudio read-only access.

Press enter or click to view image in full size

Now we have a small collaborative team and a published project.

Let’s start working together.

Connect to the published project from QGIS

Gregory opens QGIS on his computer. He installs NextGIS Connect and creates a connection to our Web GIS using the credentials we prepared for him.

He then browses the Web GIS contents, finds the published web map, and adds it to QGIS.

Based on the web map, the original QGIS project is reconstructed automatically and becomes ready for work.

Press enter or click to view image in full size
Reconstructed QGIS project based on NextGIS Web data

Vector layers are connected in bridge mode and display synchronization indicators.

Vector layers have bridge with the NextGIS Web storage

Changes on the server side are tracked automatically, while edits made from the desktop client are synchronized back to the server storage.

Raster layers are connected as Cloud Optimized GeoTIFFs (COGs), enabling fast access even for large datasets.

With a single click, Gregory receives a fully configured collaborative QGIS project and can immediately start working.

All contributions are synchronized with the server.

Edit data simultaneously

Gregory creates a new building feature in one of the project layers using standard QGIS editing tools.

Press enter or click to view image in full size

After saving the layer, the changes are automatically committed to the server. The new object becomes immediately visible on the web map, even without refreshing the page.

Press enter or click to view image in full size

If several people connect to the same project, they can edit it simultaneously. NextGIS Web is designed to support safe multi-user editing workflows across multiple QGIS instances.

Importantly, QGIS styles and forms are preserved completely. For example, when Gregory edits the Road Crossings layer, he still sees dropdown menus, checkboxes, editing constraints and custom forms.

Custom feature creation forms are preserved

Everything behaves exactly as in the original project.

Inspect layer history and roll changes back

Every edit is recorded in the layer history. Vector feature versioning is enabled by default, meaning that at any moment you can inspect:

  • who changed the data;
  • when it was changed;
  • what exactly was modified.

To access layer history, open the layer page in the NextGIS Web interface, either manually in the browser or directly through NextGIS Connect.

On the vector layer resource page, numerous actions are available, including the Version history table.

Press enter or click to view image in full size

Each row represents a layer version, showing author, timestamp and performed actions.

Press enter or click to view image in full size

Each version provides a context menu with two options:

  • revert the layer to the selected state;
  • create a copy of the selected layer state.

This makes it easy to roll back accidental edits or recover from data corruption. Importantly, rolling back changes creates a new version instead of erasing history.

For example, here we reverted the layer to the initial version before Gregory added the building.

Press enter or click to view image in full size

The building immediately disappeared from all connected QGIS instances and from the web map.

This mechanism becomes extremely valuable when many people contribute to the same dataset.

Press enter or click to view image in full size

Resolve editing conflicts

When many people work on the same data, conflicts are inevitable. Eventually, two users will modify the same feature simultaneously.

When using NextGIS Web together with QGIS, a built-in conflict resolution system handles these situations. For example, Gregory and Administrator modify the same vegetation area.

Press enter or click to view image in full size
Edit made by Gregory
Press enter or click to view image in full size
Edit made by Administrator

A conflict resolution window appears automatically, showing which elements are in conflict, both competing versions and suggested resolution options.

Press enter or click to view image in full size
Conflict resolution dialog

The system analyzes both geometry and attribute conflicts.

This makes the editing workflow significantly more transparent and prevents silent data loss.

Final thoughts

Using the open-source server NextGIS Web as centralized geospatial storage makes QGIS collaboration remarkably straightforward.

An administrator publishes projects and configures permissions once, while collaborators simply connect to the shared environment and continue working in QGIS as usual, but now inside a synchronized collaborative infrastructure.

Version history and conflict resolution mechanisms help keep this process safe and sustainable.

Try it yourself using the public Docker image demonstrated in this article. It is fully functional and allows teams to build a powerful collaborative QGIS environment.

There are also cloud SaaS and supported on-premise options from the developers that provide additional advanced features.

I would be very interested to hear your thoughts and ideas!

--

--

Eduard Kazakov
Eduard Kazakov

Written by Eduard Kazakov

Geoinformatics and Earth Remote Sensing