One Docker Command to Replace Enterprise GIS
by Vladi ‐ 2 min read
Localhost or self-hosted, no SaaS, no accounts.

What is Dekart
Dekart runs as a single Docker container with no dependencies. It is a backend for Kepler.gl with connectors to PostGIS, BigQuery, Snowflake and more. It turns SQL into maps and lets you share them privately.
https://github.com/dekart-xyz/dekart
How to run it
One command, nothing to set up first:
docker run -p 8080:8080 dekartxyz/dekart:0.23
Open localhost:8080, add a connection to your database, and run a query. The result renders on a map, and the data never leaves your machine.
Inside that one container is a carefully maintained Go backend, a built-in SQLite database, local file storage, and a free base map. There is nothing else to wire up, and a few large companies already run the same backend in production.
Run in Cloud
By default everything lives inside the container. To run Dekart on a server and keep your maps and uploads across restarts, point it at object storage. For Google Cloud Storage, set the storage mode, the bucket, and mount your service account credentials:
docker run -p 8080:8080 \
-e DEKART_STORAGE=GCS \
-e DEKART_CLOUD_STORAGE_BUCKET=your-bucket \
-v ${GOOGLE_APPLICATION_CREDENTIALS}:${GOOGLE_APPLICATION_CREDENTIALS} \
-e GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS} \
dekartxyz/dekart:0.23
Amazon S3 works the same way with DEKART_STORAGE=S3, and you can use Postgres for metadata if you prefer a database over the built-in SQLite. The full set of storage and deployment options is in the Docker self-hosting docs.
Create maps with Claude and Codex
If you do not want to write the SQL yourself, hand it to an agent. Dekart connects to Claude and Codex over MCP:
pip install dekart && dekart init # install the CLI
pip install geosql && geosql # install the skill
Then ask Claude to make a map from your data.

Here is why routing through Dekart helps. Without a map, an agent does SQL and pray: it writes a query, gets back a table of coordinates, and cannot tell if the geometry is right. With Dekart in the loop it sees the map, notices when points land in the ocean, and corrects itself. In my testing that roughly 4x’d how often Claude got geospatial questions right, and here is how I measured it. It is not only for maps either, it helps with any analytics that touches lat/lon.

If you think this is heading the right way, give it a star on GitHub so I know to keep going.