GeoTUI is a terminal application for managing GeoServer instances. Browse your local geospatial files on the left, manage GeoServer workspaces and layers on the right — then publish data with a single keystroke.
Who is it for? GIS administrators, data engineers, and anyone who publishes geospatial data to GeoServer.
Why use it? Publishing data to GeoServer normally means navigating the web admin, uploading files, configuring stores, and creating layers through a browser. GeoTUI does all of this with F5: select your files, pick a workspace, press publish. It also generates PDF reports of every operation.
- Dual-pane interface — local files on the left, GeoServer tree on the right
- One-click publishing — Shapefiles, GeoPackages, and GeoTIFFs via F5
- Multiple connections — manage several GeoServer instances simultaneously
- PDF reports — every publish generates a detailed report
- Encrypted credentials — AES-encrypted vault with PBKDF2 key derivation (600k iterations)
- Cross-platform — standalone binaries for Windows, Linux, and macOS
- Multilingual — English, Portuguese, and Spanish (Ctrl+L to switch)
- Kartoza branded — beautiful orange, teal, and blue colour scheme
Download the latest release from GitHub Releases.
| Format | File | Install Command |
|---|---|---|
| AppImage | GeoTUI-x.y.z-x86_64.AppImage |
chmod +x GeoTUI-*.AppImage && ./GeoTUI-*.AppImage |
| Debian/Ubuntu | geotui_x.y.z_amd64.deb |
sudo dpkg -i geotui_*.deb |
| Fedora/RHEL | geotui-x.y.z-1.x86_64.rpm |
sudo rpm -i geotui-*.rpm |
| Snap | geotui_x.y.z_amd64.snap |
sudo snap install --dangerous geotui_*.snap |
| Standalone | geotui-linux-amd64 |
chmod +x geotui-linux-amd64 && sudo cp geotui-linux-amd64 /usr/local/bin/geotui |
Unsigned packages: .deb, .rpm, and .snap packages are not signed with a distribution key. For Snap use
--dangerous. For RPM with GPG checking:sudo rpm -i --nosignature geotui-*.rpm.
| Architecture | File |
|---|---|
| Intel (x86_64) | geotui-macos-amd64 |
| Apple Silicon (M1/M2/M3) | geotui-macos-arm64 |
chmod +x geotui-macos-*
sudo cp geotui-macos-* /usr/local/bin/geotuiGatekeeper: Run
xattr -d com.apple.quarantine /usr/local/bin/geotuior allow in System Settings > Privacy & Security on first launch.
Download geotui-windows-amd64.exe. On first launch, click More info then Run anyway when SmartScreen appears.
pip install geotui
# or with pipx (recommended):
pipx install geotuinix run github:kartoza/geotuigit clone https://github.com/kartoza/geotui.git
cd geotui
nix develop # or: pip install -e ".[dev]"
python -m geotuigeotui- Press F9 to open Settings
- Click Add and enter your GeoServer URL, username, and password
- Click Connect to test, then Escape to return to the main view
- Navigate to your data files in the left pane
- Select a workspace in the right pane
- Press F5 to publish
For a detailed walkthrough with screenshots, see the Getting Started guide.
| Key | Action |
|---|---|
Tab |
Switch between panes |
F2 |
GeoServer Actions (create workspace, etc.) |
F5 |
Publish selected files to GeoServer |
F7 |
Create directory |
F8 |
Delete |
F9 |
Settings / Connection manager |
F10 / q |
Quit |
Ctrl+L |
Cycle language (EN / PT / ES) |
Full documentation: 📖 kartoza.github.io/geotui
For users:
- Getting Started — install, connect, publish your first data
- Navigation — keyboard shortcuts and publishing workflow
- Configuration — vault, language, colours
- Connecting to GeoSpatialHosting — hosted GeoServer setup
For developers:
- Architecture — module structure and design decisions
- API Reference — full Python API documentation
- Contributing — development setup, coding standards, CI/CD
- Security & Supply Chain — SBOM, CVE scanning, dependency auditing
nix develop # Enter dev environment
python -m geotui # Run the app
pytest # Run tests
ruff check src/ tests/ # Lint
cd docs && mkdocs serve # Serve docs locallyWe welcome contributions! See the Contributing Guide for development setup, code style, and workflow.
MIT License — see LICENSE for details.
If you find GeoTUI useful, please consider supporting its development through GitHub Sponsors.

