Installation¶
This Guide is for administrators installing GeoJibe on a Linux host. Everyday GIS users can skip it.
The current install still uses the enciva binary, enciva.service, and ENCIVA_* settings. The product name in these Guides is GeoJibe.
What you are installing¶
- A host service (
enciva) that serves the web app - A pinned GDAL image run through Docker for Convert, inspect, and Python
- Optional native Sync tools on the host for QFieldCloud and Mergin Maps (not Docker)
GeoJibe is not distributed as a Docker Compose app. Docker is the spatial runtime for processing, not a substitute for the service.
Do not install or upgrade host GDAL/QGIS packages for GeoJibe. Processing does not use them.
Before you start¶
- Linux host with Docker Engine
- Ability to run
deploy/install.sh - A built
encivabinary (or pass it as the first argument)
Install¶
From the repository, after the binary is built:
The script:
- Confirms Docker is installed
- Pulls
ghcr.io/osgeo/gdal:ubuntu-full-3.13.3(override withGDAL_IMAGE) - Creates
/var/lib/encivaand/etc/enciva/enciva.env - Installs
/usr/local/bin/enciva - Runs
deploy/install-sync-runtime.shfor QFieldCloud CLI, GeoDiff, and Mergin Maps - Installs
enciva.servicewhen systemd is present
Enable the service:
The default listen address is 127.0.0.1:8080. Put a reverse proxy in front for HTTPS.
First sign-in¶
If the user database is empty, set bootstrap variables in /etc/enciva/enciva.env before start. See Configuration. There is no default admin password in the product.
Sync runtime¶
deploy/install-sync-runtime.sh installs:
| Tool | Role |
|---|---|
qfieldcloud-cli |
List and download QFieldCloud projects |
geodiff |
Apply GeoPackage changes to PostGIS (one-way) |
Mergin Python + dbsync_daemon.py |
Mergin Maps list/download and two-way sync |
The destination database must already have PostGIS. GeoJibe does not create databases, users, or extensions.
If these tools are missing, Sync Jobs fail with Synchronization runtime is unavailable.
pre-install.sh¶
pre-install.sh at the repository root is a legacy path (older Quartz/GeoSync-style layout). Current GeoJibe installs should use deploy/install.sh.
Python for workflows¶
User Python components run inside the GDAL container (python3 with osgeo.gdal / osgeo.ogr). That is separate from the host Mergin/QField virtualenvs.
Data that must survive upgrades¶
Keep:
/var/lib/enciva(includessync/Job state)/etc/enciva/enciva.envandENCIVA_SECRET_KEY(or the generated secret file)
Restoring the database without the same secret key cannot decrypt saved credentials.