This guide assumes you have already installed GeoEngine and logged in. If you haven’t, complete the Installation & Setup guide first.
Introduction
We will be deploying a simple geoprocessing worker that creates a grid around a vector input. The script is written in Python.Step 1 — Download the Starter Worker
Download the starter worker folder here and save it somewhere on your machine — your home directory or Desktop works fine.- macOS
- Windows
- Linux
Double-click the
.zip file to unzip .grid-creator in your current directory.
Step 2 — Navigate Into the Directory
Step 3 — Inspect the Files
Take a moment to look at what’s inside before running anything:Main Script
grid_creation.py— the Python script that does the actual geoprocessing work
GeoEngine Worker Configurations
The following files can be edited to customize the worker:pixi.toml— declares all the Python/conda dependencies GeoEngine will install into the Docker containergeoengine.yaml— the worker configuration: its name, inputs, data mounts, and plugin settings
GeoEngine Worker Build Artifacts
The following files are automatically generated by GeoEngine, and should not be edited unless you know what you’re doing:Dockerfile— frameworked definition of the build process for your worker.dockerignore— tells Docker which files to ignore when building the image
Step 4 — Apply the Worker Locally
Run the following command to build and apply the worker in development mode:pixi.toml.
When it finishes, you should see output like this:
grid-creator directory:
Step 5 — GIS Testing
- QGIS
- ArcGIS Pro
Enable the Plugin in QGIS
GeoEngine installs the plugin automatically on apply, but you need to enable it inside QGIS once:- In the QGIS top bar, click Plugins > Manage and Install Plugins…
- Go to the Installed tab
- Find GeoEngine in the list and check the box next to it
- Close the dialog
You only need to enable the plugin once. Future applies and updates will not require you to do this again.
Processing Toolbox
The GeoEngine plugin should now be available in the Processing Toolbox. Go on there to check it out.Wait a second… You just applied the worker successfully — the terminal said so. But where IS it?Go back and look at thegeoengine.yaml you read in Step 3:qgis: false flag tells GeoEngine not to register this worker with the QGIS plugin. The apply output even confirmed it: ✓ Version latest disabled in QGIS plugin.. GeoEngine did exactly what it was told — the worker just isn’t wired into QGIS yet.The Fix
Opengeoengine.yaml in any text editor and change qgis: false to qgis: true:grid-creator directory:Step 6 — Run the Worker from GIS
- QGIS
In the Processing Toolbox, expand GeoEngine and find my-worker. Double-click it to open the tool dialog.Load a vector layer as the Input Layer — any polygon or line layer you have on hand works for a first test run. You can even load in a vector file. Click Run.GeoEngine executes the script inside the Docker container and streams the output back to QGIS. When it finishes, a result layer will appear in your Layers panel and render on the map canvas.
Step 7 — Push to the Cloud
Once you’re happy with how the worker runs locally, publish it so your whole team can access it. Pushing requires a production apply, so first make suregeoengine.yaml has a valid version (e.g. 1.0.0) and run:
geoengine.yaml and uploads it to the Nika registry. If you have access to multiple tenants, use --tenant <tenant> to target a specific one.
After pushing, the worker is available to everyone in your Nika organisation — in QGIS, ArcGIS Pro, and the Nika web platform — without them needing to run
geoengine apply themselves.Next Steps
You’ve gone from a zip file to a live cloud-deployed geoprocessing worker. Here’s where to go from here:- Running Workers in ArcGIS Pro & QGIS — inputs, outputs, and layer handling in detail
- Versioning — how to version, tag, and roll back workers
- Cloud Push & Deployment — advanced push options and CI/CD integration

