KARTOZA · QGIS DESKTOP DOCKER
QGIS in a browser tab, locked down by default¶
A full QGIS desktop over the web — four ways to sign in, an egress firewall that fails closed, and a home directory that outlives the container.
Pull it¶
Two tags on one image. Same container, same settings — the QGIS inside is the only difference.
-
QGIS 3.44.9 LTR
The long-term release: bug fixes only, so a project that opens today opens the same way next month. This is the one to put in front of users. Pin
:3.44.9if even a new LTR would be unwelcome. -
QGIS 4.0.1
The current release, which becomes the next LTR. Open your real projects against it now, while a regression can still be reported upstream rather than discovered on the day the LTR ships.
Then open http://localhost:8443 and sign in as user / password. Everything
else is an environment variable — see
Configuration.
What's in the box¶
-
A desktop, not a viewer
KasmVNC serves the whole XFCE session to a browser tab. No VNC client, no local install, multi-monitor and dynamic resizing included.
-
Four ways to sign in
No auth, the browser's HTTP Basic dialog, a LightDM greeter inside the desktop, or Keycloak/OIDC single sign-on with an authenticating proxy in front of the whole thing.
-
Homes that outlive the container
Restored from object storage before the desktop starts, saved on an interval and again on shutdown. Delete the container, start another, and the user's projects are still there.
-
Egress locked by default
An nftables allowlist installed before the desktop starts, by a root entrypoint that then drops its own capabilities. No allowlist means no outbound traffic, and a container that cannot enforce it refuses to run.
-
Data-loss controls
Clipboard blocked in both directions unless you say otherwise, size caps and MIME allowlists, a screen watermark, DLP audit logging, and a switch that removes terminal access entirely.
-
Giswater-ready QGIS
EPANET and SWMM built from upstream source — each solves a real model during the build — plus the Python packages the plugin imports, inside QGIS's own interpreter.
-
Reproducible by construction
One Nix flake defines the whole image, so two builds on two machines produce the same artefact. Every release ships an SPDX SBOM and a Grype CVE scan.
-
Worked deployments
Nine scenarios, each a compose file and one command: homes that survive the container, data delivered through a bucket, Keycloak brokering your own directory, a locked-down analyst session, a kiosk.
Run it yourself, or let us run it¶
KARTOZA · COMMERCIAL SUPPORT
Need this in production?¶
Kartoza builds and maintains this image. We can deploy it into your infrastructure, integrate it with your identity provider and spatial database, add the domain tooling your team needs, and support it under an SLA.
-
Deployment and integration
Kubernetes or Docker, single sign-on against your identity provider, per-user home directories on your object storage, and an egress policy that matches your security review rather than fighting it.
-
Domain tooling
Giswater is in the box because a client needed it. If your team needs a different plugin stack, database schema or field workflow baked in and kept working across QGIS releases, that is the same job.
-
Hosted QGIS desktops — coming soon
A managed service: browser-based QGIS for your team, with persistent home directories, your identity provider, and upgrades handled for you. Get in touch to hear first when it launches.
-
Support and training
SLA-backed support for the image and the QGIS stack inside it, plus training for the people who will use it. Sponsorship keeps the open-source version moving for everyone else.
Status¶
Every pull request builds both QGIS channels, smoke-tests the desktop, and runs the test suite before either image is published.